ファイル名によるフォルダ指定保存方法No.03947
ちゅん さん 03/11/11 14:53
 
皆さんこんにちは、ちゅんと申します。

新規に作られたテキストファイルの1行目に書かれたタイトルをファイル名称にしま
す。(例:買い物検討メモ.txt)1行目のタイトル等は別に作られたマクロで記入さ
れるので、空ファイルということはありません。

そしてその1行目が○○○検討メモで終わるなら、c:\doc\検討メモ\○○○検討メモ.
txtとして保存。○○○障害メモで終わるなら、c:\doc\障害関係\○○○障害メモ.tx
t。1行目の末尾がそれ以外の記述なら、c:\doc\その他\○○○.txtで保存されるよ
うにするマクロを組みたいと思っています。

このようなマクロを組むのは可能でしょうか?1行目の末尾の文字を変数に取り込む
方法、その取り込んだ変数に基づいてのフォルダ名の変更をどうしたらいいのか悩ん
でいます。

よろしくお願いいたします。


[ ]
RE:03947 ファイル名によるフォルダ指定保No.03948
舩橋幸雄 さん 03/11/11 15:26
 

  changename "c:\\doc\\障害関係\\○○○障害メモ.txt";
  save;

で保存できると思います。

>皆さんこんにちは、ちゅんと申します。
>
>新規に作られたテキストファイルの1行目に書かれたタイトルをファイル名称にし
>ます。(例:買い物検討メモ.txt)1行目のタイトル等は別に作られたマクロで記
>入されるので、空ファイルということはありません。
>
>そしてその1行目が○○○検討メモで終わるなら、c:\doc\検討メモ\○○○検討メ
>モ.txtとして保存。○○○障害メモで終わるなら、c:\doc\障害関係\○○○障害メ
>モ.txt。1行目の末尾がそれ以外の記述なら、c:\doc\その他\○○○.txtで保存さ
>れるようにするマクロを組みたいと思っています。
>
>このようなマクロを組むのは可能でしょうか?1行目の末尾の文字を変数に取り込
>む方法、その取り込んだ変数に基づいてのフォルダ名の変更をどうしたらいいのか
>悩んでいます。
>
>よろしくお願いいたします。
>

[ ]
RE:03948 ファイル名によるフォルダ指定保No.03949
舩橋幸雄 さん 03/11/11 15:48
 
>
>  changename "c:\\doc\\障害関係\\○○○障害メモ.txt";
>  save;
>
>で保存できると思います。

補足します。

 $dir1="C:\\doc\\";
 $dir2="障害関係";
 $filenames="○○○障害メモ.txt";
 changename changename $dir1 + $dir2 + "\\" + $filenames;
 save;

 $dir2の部分は、表を作成しておき、ファイル名に対応して置き換える
 ようにすればいいでしょう。
 strstr(s1,s2 )を使ってキーが一致するか確認する等  
 
 $filenamesは、テキストファイルの1行目から抽出すればいいでしょう。
 (これが問題なんでしたっけ?)
  ○○○の前が何かが決定されていないと切り出しは難しいと思います。


>
>>皆さんこんにちは、ちゅんと申します。
>>
>>新規に作られたテキストファイルの1行目に書かれたタイトルをファイル名称にし
>ます。(例:買い物検討メモ.txt)1行目のタイトル等は別に作られたマクロで記
>入されるので、空ファイルということはありません。
>>
>>そしてその1行目が○○○検討メモで終わるなら、c:\doc\検討メモ\○○○検討メ
>モ.txtとして保存。○○○障害メモで終わるなら、c:\doc\障害関係\○○○障害メ
>モ.txt。1行目の末尾がそれ以外の記述なら、c:\doc\その他\○○○.txtで保存さ
>れるようにするマクロを組みたいと思っています。
>>
>>このようなマクロを組むのは可能でしょうか?1行目の末尾の文字を変数に取り込
>む方法、その取り込んだ変数に基づいてのフォルダ名の変更をどうしたらいいのか
>悩んでいます。
>>
>>よろしくお願いいたします。
>>

[ ]
RE:03949 ファイル名によるフォルダ指定保No.03950
山紫水明 さん 03/11/11 23:34
 
 ちゅんさん,舩橋幸雄さん,こんばんは。

 こういうことではないでしょうか?

//----------------------------------------------------------------------
gofiletop;
$line = gettext( 0, y, linelen, y );
$tail = rightstr( $line, 8 );
if( $tail == "検討メモ" ) $path = "c:\\doc\\検討メモ\\" + $tail + ".txt";
else if( $tail == "障害メモ" ) $path = "c:\\doc\\障害関係\\" + $tail + ".txt"
;
else $path = "c:\\doc\\その他\\" + $tail + ".txt";
saveas $path;
endmacro;
//----------------------------------------------------------------------

 はずしていたらごめんなさい。
     では, (^^)/~
                                        山紫水明

[ ]
RE:03950 ファイル名によるフォルダ指定保No.03951
山紫水明 さん 03/11/11 23:57
 
 追伸です。ファイル名を間違えました。

//----------------------------------------------------------------------
gofiletop;
$line = gettext( 0, y, linelen, y );
$tail = rightstr( $line, 8 );
if( $tail == "検討メモ" ) $path = "c:\\doc\\検討メモ\\" + $line + ".txt";
else if( $tail == "障害メモ" ) $path = "c:\\doc\\障害関係\\" + $line
                + ".txt";
else $path = "c:\\doc\\その他\\" + $line + ".txt";
saveas $path;
endmacro;
//----------------------------------------------------------------------

     では, (^^)/~
                                        山紫水明

[ ]
RE:03951 ファイル名によるフォルダ指定保No.03952
ちゅん さん 03/11/13 10:55
 
こんにちは、舩橋幸雄さん、山紫水明さん

レスありがとうございます。
作ろうとイメージしていたまさにそのもので、完璧です。
なんか作っていただいちゃった感じですね。

どうもありがとうございました。

[ ]
RE:03951 ファイル名によるフォルダ指定保No.03962
ちゅん さん 03/11/18 14:25
 
こんにちは、ちゅんです。

山紫水明さんに作っていただいたマクロなんですが、既に同名のファイルがあった場
合、警告なしで上書きされてしまいます。

こういう場合、ダイアログを出してユーザに上書き確認を促すように機能拡張するこ
とは可能でしょうか?

>saveas $path;

saveasマクロを見る限り、パラメータはファイル名しか指定できないので、やっぱり
不可能なのでしょうか?

よろしくお願いいたします。

[ ]
RE:03962 ファイル名によるフォルダ指定保No.03963
たけのこ さん 03/11/18 14:33
 
一般ユーザのたけのこです。

> >saveas $path;
>
> saveasマクロを見る限り、パラメータはファイル名しか指定できないので、やっぱり
> 不可能なのでしょうか?

saveasの機能ではなく、existfile関数を使えばいいでしょう。関数の使い方は
ヘルプをご覧ください。

(^^)/”

[ ]
RE:03963 ファイル名によるフォルダ指定保No.03968
ちゅん さん 03/11/20 13:45
 
こんにちは、たけのこさん、レスありがとうございます。

>saveasの機能ではなく、existfile関数を使えばいいでしょう。関数の使い

自分で改変してみました。プログラミングはほとんどしたことがないのですが、うま
く行きました。

どうもありがとうございました♪

[ ]