FileSystemObjectのReadLineメソッドが上No.31761
signapi さん 12/11/06 16:46
 
いつも秀丸を愛用させていただいてます。
さて、COMを使用して指定したテキストファイルの1行目だけを読み込ませたいので
すが、
上手く読み込めません。
以下の『例』ようにC:\test.txtの最初の1行目をメッセージボックスに読み込ませ
たいのですが、
返ってくる文字列が空っぽです。
何か間違えているのでしょうか。それとも、FSOに何か環境に依存する要因があるの
でしょうか。
システムはWindows 7 professionalです。
使用している秀丸エディタは、8.20です。
宜しくお願いします。

例:
$path = "C:\test.txt";
#fso = createobject ("Scripting.FileSystemObject");
#file = callmethod_returnobj (#fso, "OpenTexFile", $path, 1);
$line = callmethod_returnstr( #file, "ReadLine");
message $line;

[ ]
RE:31761 FileSystemObjectのReadLineメソNo.31762
秀丸担当 さん 12/11/06 17:25
 

>$path = "C:\test.txt";

まずマクロ中の文字列の中の\は\\と書く必要があるので、
$path = "C:\\test.txt";
とする必要があります。

>#file = callmethod_returnobj (#fso, "OpenTexFile", $path, 1);

あと、ここのメソッド名は"OpenTextFile"ではないかと思います。
#file = callmethod_returnobj (#fso, "OpenTextFile", $path, 1);

[ ]
RE:31761 FileSystemObjectのReadLineメソNo.31763
アルビレオ さん 12/11/06 17:36
 
ユーザーのアルビレオです。

>$path = "C:\test.txt";

たぶんこの行のファイルパスが "C:<TAB>est.txt"と解釈されるせいですね。

$path = "C:\\test.txt";

とすればいけるんじゃないでしょうか

[ ]
RE:31762 FileSystemObjectのReadLineメソNo.31764
signapi さん 12/11/06 18:04
 
>$path = "C:\test.txt";
>まずマクロ中の文字列の中の\は\\と書く必要があるので、
>$path = "C:\\test.txt";
>とする必要があります。

初歩的なミスでした。

>#file = callmethod_returnobj (#fso, "OpenTexFile", $path, 1);
>あと、ここのメソッド名は"OpenTextFile"ではないかと思います。

ああ!"t"が抜けてたんですね。
これも初歩的なミスでした。
いやぁ、お恥ずかしい限りです。

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

[ ]
RE:31763 FileSystemObjectのReadLineメソNo.31765
signapi さん 12/11/06 18:05
 
>アルビレオさん、

秀丸担当者さんにも指摘されました。
本当に初歩的なミスで申し訳ありません。
ありがとうございます。


[ ]