こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルマクロでpdfファイルを開きたい

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

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

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

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

投稿日時 - 2005-07-29 10:53:26

QNo.1545851

すぐに回答ほしいです

質問者が選んだベストアンサー

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

投稿日時 - 2005-07-29 11:03:35

お礼

1150YEN様

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

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

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

投稿日時 - 2005-07-29 12:57:04

ANo.1

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問