[リストへもどる]
一括表示

投稿時間:2003/09/11(Thu) 10:02
投稿者名:ハロ
URL :
タイトル:
CreateProcessのコマンドライン
お世話になります。ハロと申します。

CreateProcessを使用して、ファイルを指定して
EXCELを起動しようとしています。

以下がコードの抜粋です。

CreateProcess(vbNullString, _
               strFileName, _
               ・・・

strFileNameには、
"C:\Program Files\Microsoft OfficeXP\Office10\excel.exe " "c:\a.xls"
がセットされています。(ダブルコーテーションも含みます。)

エクセルは起動するのですが、
「このファイルの形式が認識できません。」
というエラーをEXCELが出力し、
「キャンセル」ボタン押下で、a.xls
は正常に開きます。
(ファイルとして、excel.exeとa.xlsを
開こうとしているような気がします。)

CreateProcessの引数の指定に問題が
ありますでしょうか?
ご教示よろしくお願いします。

投稿時間:2003/09/11(Thu) 21:48
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: CreateProcessのコマンドライン
> "C:\Program Files\Microsoft OfficeXP\Office10\excel.exe " "c:\a.xls"

"C:\Program Files\Microsoft OfficeXP\Office10\excel.exe c:\a.xls" 
じゃないでしょうか?(未確認 (-_-;))

確認したら OK でした。(^。^)

投稿時間:2003/09/12(Fri) 10:05
投稿者名:ハロ
URL :
タイトル:
Re^2: CreateProcessのコマンドライン
> > "C:\Program Files\Microsoft OfficeXP\Office10\excel.exe " "c:\a.xls"
>
> "C:\Program Files\Microsoft OfficeXP\Office10\excel.exe c:\a.xls" 
> じゃないでしょうか?(未確認 (-_-;))
>
>  確認したら OK でした。(^。^)
ご回答ありがとうございます。

ご指摘の方法でやってみました。が
今度はEXCEL自体が起動しません。
最初の方法でもWin2000+Office2000の環境だと問題なく動きました。
(厳密に言うとOffice2000の場合パスが違うので
 "C:\Program Files\Microsoft Office\Office\excel.exe " "c:\a.xls"
 で正常に動きました。)

まとめると

■指定方法
1)"C:\Program Files\Microsoft OfficeXP\Office10\excel.exe " "c:\a.xls"

2)"C:\Program Files\Microsoft OfficeXP\Office10\excel.exe c:\a.xls"

■WinXP(SP1)+OfficeXP(SP2)での試験
1)は、前述の通りEXCEL起動後「このファイルの形式が認識できません。」という
  エラーが出力されます。
2)は、EXCELが起動されません。

■Win2000(SP4)+Office2000(SP3)での試験
1)は、正常に起動します。
2)は、EXCELが起動されません。



2)の方法で花ちゃんさんの環境で動くということは
PCの環境に原因があるのでしょうか?

投稿時間:2003/09/12(Fri) 10:39
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: CreateProcessのコマンドライン
Windows98SE  VB6.0(SP5) Excel2000
WindowsXP    VB6.0(SP5) Excel2002

の両方の環境で試して見ましたが問題ありませんでした。
多分、コードに問題があるのではないでしょうか?

投稿時間:2003/09/16(Tue) 16:22
投稿者名:ハロ
URL :
タイトル:
Re^4: CreateProcessのコマンドライン
> Windows98SE  VB6.0(SP5) Excel2000
> WindowsXP    VB6.0(SP5) Excel2002
>
> の両方の環境で試して見ましたが問題ありませんでした。
> 多分、コードに問題があるのではないでしょうか?
とりあえず、Win2000で動けば良いので良しとします。
ありがとうございました。

投稿時間:2003/09/17(Wed) 00:02
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^5: CreateProcessのコマンドライン
>とりあえず、Win2000で動けば良いので良しとします。

以下のでは、どうでしょう?

3)"C:\Program Files\Microsoft OfficeXP\Office10\excel.exe" "c:\a.xls"

4)"C:\Program Files\Microsoft OfficeXP\Office10\excel.exe" c:\a.xls