run文ついて教えてください。No.03578
舩橋幸雄 さん 03/02/10 20:42
 
舩橋です。

run文で以下のコマンドを実行したところ変な現象が発生します。
原因をご存じの方がいらっしゃったら教えてください。
(どちらのコマンドもDOSプロンプトで実行すると正しく動作します。)

"C:\Program Files\Microsoft Office\Office\WINWORD.EXE" /n "D:\My Documents\h
elp1\file066.doc"

"文書名またはパス名が間違っています"というメッセージが出ます。
(file066.docの後ろに空白がたくさん繋がっているようです。)


"C:\Program Files\Microsoft Office\Office\EXCEL.EXE" /e "D:\My Documents\hel
p1\file077.xls"

file077.xlsは開かれるのですが、"    .xls" というファイルも開こうとします。

以上。よろしくお願いします。

[ ]
RE:03578 run文について教えてください。No.03579
舩橋幸雄 さん 03/02/10 20:48
 
舩橋です。
すいません追加します。

>舩橋です。
>
>run文で以下のコマンドを実行したところ変な現象が発生します。
>原因をご存じの方がいらっしゃったら教えてください。
>(どちらのコマンドもDOSプロンプトで実行すると正しく動作します。)
>
>"C:\Program Files\Microsoft Office\Office\WINWORD.EXE" /n "D:\My Documents\
>help1\file066.doc"
>
>"文書名またはパス名が間違っています"というメッセージが出ます。
>(file066.docの後ろに空白がたくさん繋がっているようです。)
>
>
>"C:\Program Files\Microsoft Office\Office\EXCEL.EXE" /e "D:\My Documents\he
>lp1\file077.xls"
>
>file077.xlsは開かれるのですが、"    .xls" というファイルも開こうとします。
>

"C:\Program Files\Internet Explorer\iexplore.exe" -nohome "D:\My Documents\h
elp1\file078.htm"

http://"d:/My%20Documents/help1/file078.htm"を開こうとします。
(DOSプロンプトで実行すると正しく動作します。)




>以上。よろしくお願いします。

[ ]
RE:03579 run文について教えてください。No.03580
ひろ さん 03/02/10 21:25
 
 舩橋幸雄さん今日は、ひろです。
> "C:\Program Files\Internet Explorer\iexplore.exe" -nohome "D:\My Documents\h
> elp1\file078.htm"
>
> http://"d:/My%20Documents/help1/file078.htm"を開こうとします。
 実は直前の、http://www.maruo.co.jp/hidesoft/4/m030205.html#3571 のス
レッドも同じことが原因なのですが、マクロの中で「\」は「\\」と、「"」は
「\"」と書く必要があります。同種の文字としては、「'」があり「\'」と記
述します。詳しくは、「秀丸 Q&A 集」の「第III部〜秀丸マクロのいろはにほ
へと」の「マクロ内での「\」や特殊文字の使い方」
http://homepage2.nifty.com/jr-kun/hidemaru_qa/3_yenmk.html
等を御覧ください。

 P.S フォルダのパスに関しては、「\」の替わりに UNIX ライクに「/」を使
うという手も有ります。これだとパスに空白や日本語を含んでいなければ、
ファイル名として認識してくれるので、場合によっては便利かもしれません。
ただこれは多分オフィシャルな方法ではなく、裏技なので何時か動かなくなる
かも(^^;。

[ ]
RE:03580 run文について教えてください。No.03596
舩橋幸雄 さん 03/02/12 09:15
 
舩橋です。

ひろ殿、ご回答ありがとうごさいます。
実は、

"C:\Program Files\Internet Explorer\iexplore.exe" -nohome
 "D:\My Documents\help1\file078.htm"

は、マクロ内にベタ書きしている訳でははなく、実際には以下のように
コーディングしています。(投稿では、$cmd_pathをmessage文で表示させ
た内容に置き替えていました。この為、誤解を招いたと思います。
すみません。)

$cmd_path=$paths[#cnt1][1]+" "+"\x22"+$menus+"\\"+$file+"\x22\n";
run $cmd_path;

この時、
 $paths[#cnt1][1] には、実行したいコマンドのパスが入っています。
("C:\Program Files\Internet Explorer\iexplore.exe" -nohome の部分)
これは、レジストリから読み込んでいます。

$menusには、ファイルがどこにあるかが入っています。
("D:\My Documents\help1 の部分)

$fileには、対象とするファイルの名称が入っています。
(file078.htmの部分)

> 舩橋幸雄さん今日は、ひろです。
>> "C:\Program Files\Internet Explorer\iexplore.exe" -nohome "D:\My Documents\h
>> elp1\file078.htm"
>>
>> http://"d:/My%20Documents/help1/file078.htm"を開こうとします。
> 実は直前の、http://www.maruo.co.jp/hidesoft/4/m030205.html#3571 のス
>レッドも同じことが原因なのですが、マクロの中で「\」は「\\」と、「"」は
>「\"」と書く必要があります。同種の文字としては、「'」があり「\'」と記
>述します。詳しくは、「秀丸 Q&A 集」の「第III部〜秀丸マクロのいろはにほ
>へと」の「マクロ内での「\」や特殊文字の使い方」
>http://homepage2.nifty.com/jr-kun/hidemaru_qa/3_yenmk.html
>等を御覧ください。
>
> P.S フォルダのパスに関しては、「\」の替わりに UNIX ライクに「/」を使
>うという手も有ります。これだとパスに空白や日本語を含んでいなければ、
>ファイル名として認識してくれるので、場合によっては便利かもしれません。
>ただこれは多分オフィシャルな方法ではなく、裏技なので何時か動かなくなる
>かも(^^;。

[ ]
RE:03596 run文について教えてください。No.03597
舩橋幸雄 さん 03/02/12 09:34
 
舩橋です。

大ボケをかましていたようです。
マクロを良く見直していたら、コマンドの最後に"¥n"を付けていました。

>$cmd_path=$paths[#cnt1][1]+" "+"\x22"+$menus+"\\"+$file+"\x22\n";
>run $cmd_path;
>

$cmd_path=$paths[#cnt1][1]+" "+"\x22"+$menus+"\\"+$file+"\x22";
run $cmd_path;

になおしたらうまくいきました。お騒がせしてすみませんでした。

>舩橋です。
>
>ひろ殿、ご回答ありがとうごさいます。
>実は、
>
>"C:\Program Files\Internet Explorer\iexplore.exe" -nohome
> "D:\My Documents\help1\file078.htm"
>
>は、マクロ内にベタ書きしている訳でははなく、実際には以下のように
>コーディングしています。(投稿では、$cmd_pathをmessage文で表示させ
>た内容に置き替えていました。この為、誤解を招いたと思います。
>すみません。)
>
>$cmd_path=$paths[#cnt1][1]+" "+"\x22"+$menus+"\\"+$file+"\x22\n";
>run $cmd_path;
>
>この時、
> $paths[#cnt1][1] には、実行したいコマンドのパスが入っています。
>("C:\Program Files\Internet Explorer\iexplore.exe" -nohome の部分)
>これは、レジストリから読み込んでいます。
>
>$menusには、ファイルがどこにあるかが入っています。
>("D:\My Documents\help1 の部分)
>
>$fileには、対象とするファイルの名称が入っています。
>(file078.htmの部分)
>
>> 舩橋幸雄さん今日は、ひろです。
>>> "C:\Program Files\Internet Explorer\iexplore.exe" -nohome "D:\My Documen
>ts\h
>>> elp1\file078.htm"
>>>
>>> http://"d:/My%20Documents/help1/file078.htm"を開こうとします。
>> 実は直前の、http://www.maruo.co.jp/hidesoft/4/m030205.html#3571 のス
>>レッドも同じことが原因なのですが、マクロの中で「\」は「\\」と、「"」は
>>「\"」と書く必要があります。同種の文字としては、「'」があり「\'」と記
>>述します。詳しくは、「秀丸 Q&A 集」の「第III部〜秀丸マクロのいろはにほ
>>へと」の「マクロ内での「\」や特殊文字の使い方」
>>http://homepage2.nifty.com/jr-kun/hidemaru_qa/3_yenmk.html
>>等を御覧ください。
>>
>> P.S フォルダのパスに関しては、「\」の替わりに UNIX ライクに「/」を使
>>うという手も有ります。これだとパスに空白や日本語を含んでいなければ、
>>ファイル名として認識してくれるので、場合によっては便利かもしれません。
>>ただこれは多分オフィシャルな方法ではなく、裏技なので何時か動かなくなる
>>かも(^^;。

[ ]