プロが教えるわが家の防犯対策術!

こんにちは
Acrobat 7.0ですとShell起動できるのですが、Acrobat 8.0ですと起動できません。

Shell(pathname[,windowstyle])
pathnameにはプログラム名 + 表示するファイル名を指定しています。
具体的には"C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe C:\Work\PDF1.pdf" です。
8の場合は
"C:\Program Files\Adobe\Acrobat 8.0\Reader\AcroRd32.exe C:\Work\PDF1.pdf" としています。

Adobe Readerの枠は表示されエラーメッセージとして2回続けて出ます。
一つ目は"この文書を開くときにエラーが発生しました。ファイルエラーが発生しました。」です。
ふたつ目は「この文書を開くときにエラーが発生しました。このファイルが見つかりません。」です。

これからすると、文書ファイルのフォルダ・ファイル名指定が間違っていると考えられますが、同じ文書指定で7ではOKです。
8の場合指定の仕方が違うのでしょうか?

WEBで検索したのですが、同じようにして開いていることが出ていて開けないことが解りません。

アドバイスお願いいたします。

A 回答 (1件)

こんにちは。



テスト環境がないので検証なしで回答してみますが、、

  パスは引用符(”)で括る

というのは? Chr(34) のことです。とりあえず、下記ソースを
試してみて下さい。

' // Shell で開く(Exe を指定して開く)
Sub sample1()

  Dim path1 As String
  Dim path2 As String
  Dim pid  As Long
  
  path1 = "C:\Program Files\Adobe\Acrobat 8.0\Reader\AcroRd32.exe"
  path2 = "C:\Work\PDF1.pdf"
  
  pid = Shell(Chr(34) & path1 & Chr(34) & " " & Chr(34) & path2 & Chr(34), _
        vbNormalFocus)

End Sub

でも、これは EXE のインストールパスが異なると動かない方法
ですよね。関連付けで開くとか...?

' // Windows の関連付けで開く
Sub sample2()
  
  Dim path2 As String
  path2 = "C:\Work\PDF1.pdf"
  CreateObject("WScript.Shell").Run Chr(34) & path2 & Chr(34), vbNormalFocus

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
「Windows の関連付けで開く」で出来ました。
バージョン7,8で確認しました。

お礼日時:2008/09/22 15:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!