• 締切済み

VBAからAcrobat 8.0でPDFファイルを開く

こんにちは 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で検索したのですが、同じようにして開いていることが出ていて開けないことが解りません。 アドバイスお願いいたします。

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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

takuma_18
質問者

お礼

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

関連するQ&A