• ベストアンサー

ExcelマクロでPDFを選んで開く

ネット上で色々検索しましたがこれという例題が見つかりませんでしたので教えて頂きたいです。 サーバー上の共有フォルダー例えば \\AA01\BB02\cc01\PDFFILES にPDFファイルが数種類保存されているとします。フォルダーの中からABCの文字が含まれるファイルをファイル選択ダイアログなどで表示し、その中から選んでPDFファイルを開きたいのですが。 よろしくお願いします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.2

Sub Sample()  'ファイルを選択するダイアログボックス格納変数を宣言  Dim FD As FileDialog     'いつも見慣れたダイアログボックスを↑の変数に格納する  Set FD = Application.FileDialog(msoFileDialogOpen)      With FD '以下、↑の変数について   '初期に開くフォルダーと表示するファイル名(の一部)を与え   .InitialFileName = "\\AA01\BB02\cc01\PDFFILES\*ABC*"    'ダイアログを開き    'OKボタンをクック、あるいは、     '選択されたファイル名の行をダブルクリックしたら     If .Show = True Then    'AplDataOpenというサブルーチンを呼び出す    'その呼び出すサブルーチンに、    '選択したファイルのフルパスを与える    'もし複数選択したら2つ目以降を無視して、1つ目を与える。    AplDataOpen .SelectedItems(1)    ’これは単なるコメント    '.Execute       ’キャンセルボタンが押されたら    Else     ’メッセージを表示する     MsgBox "キャンセルされました"   End If  End With End Sub '引数に当たられたファイルを開くサブルーチン 'これから新たにマクロを作成したときにも使えるように '今回は、サブルーチンにしました。 'かっこよく言えば、部品化です。 'やっていることは 'エクスプローラ上でPDFファイルなどをダブルクリックするのと '同じ動作です。 'あるいは 'ファイル名を指定して実行を選び 'C:\Data\ほげほげ.pdf    'といったコマンドを実行するのと同じ動作です。 Sub AplDataOpen(MyPath As String)  With CreateObject("Shell.Application")   .ShellExecute MyPath  End With End Sub

その他の回答 (1)

  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

こんなコードはいかがでしょうあ。 Sub Sample()  Dim FD As FileDialog  Set FD = Application.FileDialog(msoFileDialogOpen)      With FD   .InitialFileName = "\\AA01\BB02\cc01\PDFFILES\*ABC*"    If .Show = True Then    AplDataOpen .SelectedItems(1)    '.Execute   Else     MsgBox "キャンセルされました"   End If  End With End Sub Sub AplDataOpen(MyPath As String)  With CreateObject("Shell.Application")   .ShellExecute MyPath  End With End Sub

neo183
質問者

お礼

回答有難う御座います。 希望通りに出来ました‼。 欲を言えば初心者の私に解説など付け加えて頂ければ今後のマクロ作成に役立つと思いますので宜しくお願いします。

関連するQ&A

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

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

  • サーバー保存先変更に伴うショートカットのリンク先変

    組織替えによりサーバー保存先が変わりました。 これによりフォルダーに保存されているショートカットのリンク先を変更する必要となりました。 ネット検索してもこれと言う例題が見つからなかったため、ご教示いただければと思います。 変更前共有サーバー: \\AA\BB\CC\DD\EE\・・・・ 変更後共有サーバー: \\AA\FF1\FF2\FF3\DD\EE\・・・・ 変更したいことは、変更前の\\AA¥BB\CCのところを\\AA¥FF1\FF2\FF3に変更する。 \DD以降は変更なし。 1、 フォルダー内に作成したExcelファイルを保存しマクロを実行して変更する。 (デスクトップ内・サーバー内に使用) 2、 フォルダー内のlnkファイルのみを対象(数個あるとする) 3、 シートのセルD3に変更前のリンク先 \\AA\BB\CCを入力 シートのセルD5に変更する \\AA\FF1\FF2\FF3を入力する。 (汎用性を持たせるために、セルD3・D5を変更すると他部署にも使用可能) 4、 ショートカットのリンク先先頭が,” \\AA\BB\CC“であれば\\AA\FF1\FF2\FF3に書き換える (¥DD以降は変わらない) 5、 現在のフォルダー内だけか、下層フォルダーも変更するか Yes/Noで選択できるようにする。 6、 ショートカットのファイル名は変更しない。 以上ですが宜しくお願いします。 ちなみに自分が作るマクロでは変数を日本語で宣言しています。 Fn ⇒ ファイル名 何か問題があるでしょうか?

  • FirefoxでのPDF閲覧

    動作環境:Mac OS 10.3.9 / Firefox2.0.0.1 FirefoxにてPDFファイルへのリンクをクリックすると、 「このファイルをどのように処理するか選んでください」とダイアログがでます。そして、「アプリケーションで開く(Preview)」を選択すると、Previewが起動し、該当するファイルが閲覧できます。ただ、この時、該当PDFファイルがダウンロードされるのですが、このダウンロード場所がFirefoxで指定した保存場所でなくて、Safariの環境設定で指定している保存場所に保存されてしまいます。両者の保存場所は全く別のフォルダを指定しています。 これをFirefoxで指定しているフォルダに保存するには、どのような設定を施せばよいでしょうか?ちなみに、Firefoxダイアログで、「ディスクに保存」を選択すると、環境設定で設定した保存場所に保存されます。

  • エクセルマクロでPDFを開いてコピペしたい

    今の環境はWindows7、Office2010、Adobe ReaderXI バージョン11.05です。 ●フォルダ(その都度違うフォルダになります)の中にあるPDFファイルが数百、   時には数千あります。 ●どのPDFもテキスト形式で、形はどれも同じものになります。 やりたい事は 1.エクセルAAA.xlsmでそのフォルダにあるPDFを開いて全体をコピー。 2.AAA.xlsmの新しいシートを後ろに作って貼り付け。 3.元のPDFを閉じる。 4.次のPDFを開く 以下最後までループ なのですが、取りあえず任意のフォルダのファイル名一覧をフルパスでエクセルに書き出すマクロは組めました。 問題はここからです。 そのファイル一覧を元にしてPDFを立ち上げたいのですが、自分で指定した場所しか出来ないのと、 PDFでそのファイルが開かないという、初めから躓いてしまいました。 初めから考え方も違うのかもしれません。 マクロは初心者です。 どうぞお教え下さい

  • 上書きコピーについて

    Windows Vista Ultimateを使用しています。 同名のフォルダごとコピーする場合について質問なんですが、 たとえば新フォルダ「abc」を旧フォルダ「abc」に上書きする場合、  新フォルダの中身:aa.txtとbb.txt  旧フォルダの中身:aa.txtとbb.txtとcc.txt この場合、aa.txtとbb.txtが上書きコピーされますが、 この時、旧フォルダに元々あったcc.txtが残ります。 フォルダごとコピーした時に旧フォルダに元々あったcc.txtを残さない設定にできますか? コピー後にaa,txtとbb.txtだけが残るようにしたいのです。

  • ディレクトリの変更がしたいです

    windows10,Microsoft365使用の超初心者です。 1時間かかってもディレクトリの変更ができませんでした。( ノД`)シクシク… デスクトップにフォルダAAがあります。その中にBB.xlsmとフォルダCCがあります。 そして、BB.xlsmをクリックすると、ユーザーフォームDDが表示されます。 その中のコマンドボタンEEをクリックするとダイアログボックスが現れます。 ボックスの中には、フォルダCCの中のファイルから1個を開きたいです。 Sub ファイルを開くダイアログボックスを用いてファイルを開く() Dim OpenFileName As String ChDrive "C" ChDir "C:\user\nanigasi\Desktop\フォルダAA\フォルダCC" OpenFileName = Application.GetOpenFilename(FileFilter:="Excelファイル,*.xlsx") If OpenFileName <> "False" Then Workbooks.Open OpenFileName Else MsgBox "キャンセルされました" End If End Sub

  • エクセルファイルのPDF保存マクロ

    お世話になります。 エクセル2007を使用しています。コマンドボタンを押すとMsg BOXを出現させ「PDF形式で保存しますか?」と表示し「はい」を押すとエクセルファイルをPDFファイル形式に自動で保存しようと考えています。 紙の大きさはB4サイズでPDFファイルに保存させたいです。 保存先はデスクトップのフォルダ「購買分」と言う所に保存します。 保存の名称に関してはエクセルファイルのC1には「2014年2月」と表示されており「購買分2014年2月」と自動で保存してくれる様にしたいです。 この様なマクロはエクセルで組むことが出来るのでしょうか?

  • サーバー上の共有フォルダに

    サーバー上の共有フォルダに入っているフォルダの 保存場所をネットワーク内の他の人にメールでURLを 送って、それをクリックしてもらえばそのファイルにアクセスできる方法ってどうするのか忘れてしまったのでお教えください。 \aa\dd\cc のようなファイルの場所の前に何か書いたら他のパソコンからでもアクセスできたような気がするんですが・・・。 宜しくお願いします!

  • エクセルのマクロでPDFファイルを印刷

    フォルダの中にPDFファイルがあります。 そのファイルをマクロ上で印刷することは可能なのでしょうか? 自分で調べている限り、エクセルをPDF化の方法は見るのですが、印刷については、見当たりません。 もし、PDFファイルが印刷できないとしたら、マクロでエクセル以外のアプリケーションのファイルは印刷できないと考えたほうが良いのでしょうか? わかるかたいらしたら、よろしくお願いします。

  • エクセルマクロで沢山のPDFをコピペしたい

    Windows7でエクセル2010を使っています。 アドビリーダーはXIです。 あるフォルダの中にあるPDFのファイル名の一覧がフルパスでエクセルにあります。 これはマクロで抽出しました。 PDFの内容はテキスト形式のみです。 そのファイル名の一覧を元に、次から次へPDFを開き、1ページ全てをコピーしてエクセルで新しいシートを作り、貼り付ける、という作業を連続で行いたいのです。 もしくは初めから一覧は作らなくても良かったのかもしれませんが、その都度違うフォルダを処理していくので、一覧にしてみました。 一度の作業で処理するのは一つのフォルダのみです。 色々試してみましたが、歯が立ちません。 どうぞお教え下さい。 同じような質問をしたばかりですが、回答が増えなくかったので、改めて質問させていただきました。

専門家に質問してみよう