名前を付けて保存マクロNo.03140
Hirohiro さん 02/05/20 20:46
 
表記の件で、ENCODINGSHIFTJISさんからアドバイスをいただいたものです。以下のマ
クロを利用させてもらっていたのですが、コロンやコーテンションマークを含んだ文
章については、保存できません。ヘルプでもよく分かりません。どうしたらいいか教
えていただけたら幸いです。

//それをファイル名とするマクロ  --> マクロヘルプ  (seltopx,seltopy,selendx,s
elendy)+".TXT";

[ ]
RE:03140 名前を付けて保存マクロNo.03141
encodingshiftjis さん 02/05/20 23:10
 
ションマークを含んだ文章については、保存できません。ヘルプでもよく分かりませ
ん。どうしたらいいか教えていただけたら幸いです。

デスクトップの面を右クリック、新規作成、テキスト文書
で、新規テキスト文書.txt を作る。
F2 キーで ファイル名の変更可能に
     :.txt  と打って [Enter]
ファイル名には次の文字は使えません。
\/:,;*?"<>|

以上、Windows の制限です。

Mac UNIX CD-ROM URL メールアドレス などなど
名前の規則は微妙に違います。
Samba などの 共有ファイル名の日本語コードとか
アプリケーション固有の ネーミング規則もあります。

顔文字ファイル名とかで遊んでみましょう。

[ ]
RE:03141 名前を付けて保存マクロNo.03142
Hirohiro さん 02/05/21 07:37
 
>ファイル名には次の文字は使えません。
>\/:,;*?"<>|
>以上、Windows の制限です。

そうなんですか。勉強になりました。ありがとうございました。

[ ]
RE:03142 名前を付けて保存マクロNo.03143
ENCODINGSHIFTJIS さん 02/05/21 09:12
 
実は、ファイルシステム自体では
  ,.TXT   などのファイルを作れたりします。

しかし、ファイル名を使うのは ファイルシステム
だけではありません。  , ;  は並びの区切りに
使うのでそこで アウトになります。(そういうソフトがあれば)

メールの検査ソフトが
「デタラメなファイル名発見、ウィルスの危険
ただちに消去」するかもしれません。

Winで作成したファイルが UNIXで指定できない
文字列で 、ファイル一覧では見えるが、処理に
かけられなくなったりします。
大文字小文字で逆の状況もある。

ネットワーク時代は自分だけの事で済まないので
気を使います。

[ ]
RE:03141 名前を付けて保存マクロNo.03144
ひろ さん 02/05/21 12:58
 
 encodingshiftjis さん今日は、ひろです。
> ションマークを含んだ文章については、保存できません。ヘルプでもよく分かりませ
> ん。どうしたらいいか教えていただけたら幸いです。
 手っ取り早い方法は、文字を全角に変更してしまうことだと思います。例
えば、次の要領です。
//-------------------------------------------------------------------
call ChangeCharacter $$file,"\\","¥";
call ChangeCharacter $$return,"/","/";
call ChangeCharacter $$return,":",":";
call ChangeCharacter $$return,";",";";
call ChangeCharacter $$return,"*","*";
call ChangeCharacter $$return,"?","?";
call ChangeCharacter $$return,"<","<";
call ChangeCharacter $$return,">",">";
call ChangeCharacter $$return,"|","|";
call ChangeCharacter $$return,"\"","”";
save $$return;
endmacro;

ChangeCharacter://buff 中の文字列を置換
  ##change_char=strlen($$2);
  $$string = "";
  while(1){
    ##number = strstr($$1, $$2);
    if(##number == -1)break;
    else{
      ##long=strlen($$1);
      $$string = $$string + leftstr($$1, ##number) + $$3;
      $$1 = rightstr($$1, ##long - ##number - ##change_char);
    }
  }
  return $$string + $$1;

[ ]
RE:03144 名前を付けて保存マクロNo.03145
Hirohiro さん 02/05/21 16:39
 
ひろさん、ありがとうございます。使わせていただこうとしたのですが、12行目、
「変数の代入が変です」というメッセージがでてしまいます。

> encodingshiftjis さん今日は、ひろです。
>> ションマークを含んだ文章については、保存できません。ヘルプでもよく分かりませ
>> ん。どうしたらいいか教えていただけたら幸いです。
> 手っ取り早い方法は、文字を全角に変更してしまうことだと思います。例
>えば、次の要領です。
>//-------------------------------------------------------------------
>call ChangeCharacter $$file,"\\","¥";
>call ChangeCharacter $$return,"/","/";
>call ChangeCharacter $$return,":",":";
>call ChangeCharacter $$return,";",";";
>call ChangeCharacter $$return,"*","*";
>call ChangeCharacter $$return,"?","?";
>call ChangeCharacter $$return,"<","<";
>call ChangeCharacter $$return,">",">";
>call ChangeCharacter $$return,"|","|";
>call ChangeCharacter $$return,"\"","”";
>save $$return;
>endmacro;
>
>ChangeCharacter://buff 中の文字列を置換
>  ##change_char=strlen($$2);
>  $$string = "";
>  while(1){
>    ##number = strstr($$1, $$2);
>    if(##number == -1)break;
>    else{
>      ##long=strlen($$1);
>      $$string = $$string + leftstr($$1, ##number) + $$3;
>      $$1 = rightstr($$1, ##long - ##number - ##change_char);
>    }
>  }
>  return $$string + $$1;

[ ]
RE:03145 名前を付けて保存マクロNo.03146
ひろ さん 02/05/21 17:14
 
 Hirohiro さん今日は、ひろです。
> 使わせていただこうとしたのですが、12行目、
> 「変数の代入が変です」というメッセージがでてしまいます。
 私は「:」等の文字を変更するコードを記述しただけで、このままでは使えません。
 この様な中途半端なコードをアップすべきでないかもしれませんが、
http://www.maruo.co.jp/hidesoft/4/m020520.html#3140
で元々どんなコードかわからないので、こんな書き方しかできません。あと
返信元の ENCODINGSHIFTJIS さんならこれでわかるだろうと...。

[ ]
RE:03146 名前を付けて保存マクロNo.03147
ながさわ さん 02/05/21 23:49
 
こんにちは、長澤です。

>> 使わせていただこうとしたのですが、12行目、
>> 「変数の代入が変です」というメッセージがでてしまいます。
> 私は「:」等の文字を変更するコードを記述しただけで、このままでは使えません。

と云うか、文法ミスがあります。saveコマンドは引数を取りません
(たぶんsaveasのミスかと)。
いずれにせよ、このままでは使えません(未定義の変数とかもあるの
で、適当に前のマクロとつなげてね、というのがひろさんの考えで
しょう、たぶん)。

[ ]
RE:03143 名前を付けて保存マクロNo.03149
ENCODINGSHIFTJIS さん 02/05/22 11:05
 
確認表示するから、人間が考えよ、というタイプの
マクロです。
============================================
// testBadname.mac
//   UNIX なら [space]$#~` は好ましくないし、 Mac とかも
//   PP.*.QQ

$s1=gettext(seltopx,seltopy,selendx,selendy)+".TXT";
CHKname:
$s1=input("ファイル名確認  保存(S)",$s1 );
if(!result)endmacro;// キャンセル
//  文字列検査(ファイル名の通用範囲により、検査の程度は変わる)
// ・・・・・・・・・・・・・・・・・・
saveas $s1;
if(!result)goto CHKname;// マクロの実行を中止しますか [いいえ(N)]

[ ]
RE:03149 名前を付けて保存マクロNo.03150
Hirohiro さん 02/05/22 12:37
 
みなさん、お世話をかけました。
まくろについて、少しは勉強してから出直します。
ありがとうございました。

[ ]
RE:03147 名前を付けて保存マクロNo.03151
ひろ さん 02/05/22 12:42
 
 ながさわさん今日は、ひろです。
> (たぶんsaveasのミスかと)。
 その通りです。失礼しました。

[ ]