プロが教える店舗&オフィスのセキュリティ対策術

エクセルでpdfファイル名が記載されたセルを選択して、マクロでそのpdfファイルを開きたいと思うのですがうまくいかず困っています。

Shell関数でアクロバットリーダーを立ち上げることはできます。
またアクロバットリーダーで、一度pdfファイルを読み込むと、「ファイルを開く」ダイアログの「ファイルの場所」にpdfが保存されているフォルダが記憶されているので、SendKeysでpdfファイル名を使用すれば、マクロでpdfファイルを開くことはできます。

問題は、アクロバットリーダーが立ち上がった時に、「ファイルを開く」ダイアログの「ファイルの場所」がpdfファイルが保存されている場所と異なる場合です。ファイル名にパス名を追加したりして試みましたがうまくいきません。

どなたか御教示の程、よろしくお願い致します。

A 回答 (1件)

APIを利用すると、簡単に起動できますよ。


http://okweb.jp/kotaeru.php3?q=1242594

この方法は、関連付いたアプリでファイルを起動する方法なので、PDFに限らずマルチにOKです。


'先頭に宣言
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

'関数
Sub OpenFile()
'関連付いたアプリケーションで立ち上げる
Call ShellExecute(0, "open", <ファイル名>, vbNullString, vbNullString, 1)
End Sub
    • good
    • 1
この回答へのお礼

1150YEN様

早々に御教示していただき、どうもありがとうございました。
早速、試してみたら問題なく作動できました。
午前中の悪戦苦闘は何だったのだろうという感じです。

APIを利用するとこんなこともできるのかと思うと、自分も勉強してみたくなりました。

改めて御礼申し上げます。

お礼日時:2005/07/29 12:57

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