エクセルマクロでPDFファイルを開く方法

このQ&Aのポイント
  • エクセルでPDFファイル名が記載されたセルを選択し、マクロでPDFファイルを開く方法について困っています。
  • Shell関数を使用してアクロバットリーダーを立ち上げることはできますが、ファイルを開くダイアログの場所が正しく表示されない問題があります。
  • パス名を追加して試みましたが、うまくいきません。エクセルマクロでPDFファイルを開く方法についてご教示いただけますか?
回答を見る
  • ベストアンサー

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

エクセルでpdfファイル名が記載されたセルを選択して、マクロでそのpdfファイルを開きたいと思うのですがうまくいかず困っています。 Shell関数でアクロバットリーダーを立ち上げることはできます。 またアクロバットリーダーで、一度pdfファイルを読み込むと、「ファイルを開く」ダイアログの「ファイルの場所」にpdfが保存されているフォルダが記憶されているので、SendKeysでpdfファイル名を使用すれば、マクロでpdfファイルを開くことはできます。 問題は、アクロバットリーダーが立ち上がった時に、「ファイルを開く」ダイアログの「ファイルの場所」がpdfファイルが保存されている場所と異なる場合です。ファイル名にパス名を追加したりして試みましたがうまくいきません。 どなたか御教示の程、よろしくお願い致します。

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

  • ベストアンサー
回答No.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

macchome
質問者

お礼

1150YEN様 早々に御教示していただき、どうもありがとうございました。 早速、試してみたら問題なく作動できました。 午前中の悪戦苦闘は何だったのだろうという感じです。 APIを利用するとこんなこともできるのかと思うと、自分も勉強してみたくなりました。 改めて御礼申し上げます。

関連するQ&A

  • エクセルのマクロでファイル名のつけ方

    あるセルの文字列を、マクロで ファイル名にして保存するにはどうしたらよいでしょうか。マクロの知識は記録修正ぐらいしかありませんが、 ご教授お願いします。 実験データが数百ありまして、 それを分割保存したいのです。 分割保存で最後 Sendkeys "%FA"とするところまでは 分かったのですが、できればファイル名もマクロで保存できたらすばらしいのですが。。。

  • accessのマクロで、PDFファイルを開くコマンドを作ることはできますか?

    Accessのマクロで、「PDFファイルを開く」というアクションを登録 したいのですが、”アプリケーションの実行”で、コマンドラインにacrobatのexeファイルパスの後ろに、開きたいファイルのフルパスを記入したところ、目的のファイルを開くことができました。しかし、PDFファイルの表示ソフトが、PCによって、acrobat、adobe reader、acrobat readerなどいろいろあるため、アプリケーションの実行ファイル(*.exe)の指定をせずに、関連付けられたアプリケーションで指定したファイルを開くようにしたいのですが、どうすればよいでしょうか?よろしくお願いします。

  • WORDファイルをPDFにマクロで

     あるフォルダにあるWORDファイルを1つづつ同じファイル名のPDFに変換して、他のフォルダに入れていきたいと思っています。 まず、マクロの自動記憶でWORDファイルをAcrobat Distillerで印刷していくようにしました。  それをマクロで実行すると、ファイル名の確認窓が出ます。そこで、sendkeys "" で回避したのですが、次にALT+Sを押して保存。その次に同じファイル名のものがあった場合には、上書きするかどうかを聞いてきますので、そこでも、ALT+Yを送信する必要があります。  このALT+SやALT+Yの送信は、どのように記述すれば良いのでしょうか?  大きなプログラムの1部ですが、少しづつ進めていく必要があるので、申し訳ありませんがよろしくお願いします。  

  • PDFファイルを開くことが出来ません。

    アクロバット・リーダーでメールで送られてきたPDFファイルを保存し、開こうとすると、 「書類を開く際のエラーです。ファイルが%PDF-で始まりません。」 と出て、ファイル名をそのとおりに色々変えてみても、開きません。どうすればいいのでしょう??? 宜しくお願いします。

  • PDFファイルを開き、印刷し、閉じるマクロ

    Excel 2003 VBAにて、 PDFファイルを開き、印刷し、閉じるマクロを作りたいと思っています。 Dim AA, AAA AA = "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe C:\Scan\20131101160734050_001.pdf" AAA = Shell(AA, vbNormalFocus) にて、PDFファイルを開くことは出来ました。 このPDFファイルを、「印刷し、閉じる」ためには、 このPDFファイルを指定する必要があると思いますが、 その構文が判りません。 知っている方、教えて下さい。

  • Excelマクロでpdfを自動作成したい

    複数のExcelシートからなるブックを、pdfとして出力しています。 現在はJustSystemのJustpdf2ドライバを使っているのですが、これだとマクロで完全自動化できないことが判明しました。 ・PDFのフアイル名と保存場所 ・上書きかどうか をいちいち聞いてきます。 Excelマクロで完全自動化するには、 ・ファイル名、保存場所をマクロで指定できる。もしくはExcelファイルと同じ場所に同じファイル名で作成する ・1シート目は上書き、2シート目からは現存のpdf (前シートのpdf)に続けて保存できるように、マクロで「上書き」か「続けて保存」かを指定できる ことが必要なのですが、JustSystemに問い合わせたところ、Justpdf2では無理とのことでした。 上記のように、複数シートからなるExcelブックを、マクロで完全自動でPDF化できるドライバ、方法がありましたら、お教えください。

  • IEでpdfファイルを開かないようにしたい

    こんにちは。 Internet Explorerでpdfファイルへのリンクをクリックすると Acrobat Readerが起動して勝手にファイルが開いてしまいますが、 どうもこれがいやなので「ファイルのダウンロード」のダイアログで ファイルを開くか保存するかを自分で選択したいのです。 ブラウザの設定などでこのようにすることは可能でしょうか?

  • PDFファイルの作り方

    PDFファイルの作り方を教えてください。 OSはMacOS10です。 主にIllustratorとVectorWorksの書類をPDFにします。 1ページごとならそれぞれのソフトから「PDFとして保存」のような項目があるのですが、何ページかを一つのファイル名で保存する方法がわかりません。 例えば、「01.ai」「02.ai」「03.ai」の3つの書類を「00.pdf」というPDFファイルにして、これ一つを開いたら3つの書類が一度に開いてページ送りしていけるようにしたいのですが、どうしたらいいでしょうか? Acrobat Readerはあるのですが、やはりリーダーではできませんか? もしできないようであれば、Mac対応のソフトを教えてください。 よろしくお願いします。

  • IEでPDFファイルが見られない

    IEを使ってるのですが、IEからpdfファイルを見ようとすると、"Adobe Acrobatが見つかりません"みたいなダイアログが出てきて、pdfファイルにアクセスできません! 一度そのpdfファイルをダウンロードすれば、Acrobat Reader等から見られるのですが・・・。 IEで直接pdfファイルを見るにはどうしたらいいんでしょうか? 何らかのファイルをIEのフォルダに入れればOK!とかそういうことだと思うのですが・・・。

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

専門家に質問してみよう