• ベストアンサー

VBAでEXCELに埋め込んだPDFを開く方法

あらかじめPDFファイルをシート内に貼り付けておき、 ユーザーフォーム上のボタンを押した時に、 PDFファイルを開くマクロを探しております。 参照パスを指定のフォルダにしなくても良い方法として あらかじめPDFファイルを貼り付ける事を考えました。 尚、使用しているexcelは2010です。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

そもそもマクロの前に >あらかじめPDFファイルをシート内に貼り付けておき、 この部分は既に実現できているのですか?どうやって(エクセルをどのように操作して)実現しているのでしょうか。 それともまだナニも手をつけていないので,そういうことができる準備の段取りから聞きたいご質問でしょうか。 >PDFファイルを開くマクロを探しております。 手順: 挿入のオブジェクトのファイルから,PDFファイルを(推奨:アイコンで表示)挿入する そういうオブジェクトが1つシートに挿入してあるとすると,マクロは worksheets("Sheet1").oleobjects(1).verb と書いておけば,開いてくれます。

ryo_ky
質問者

お礼

ご回答有難うございます。 ファイル挿入の部分は問題なかったのですが、どの様にしてPDFを開くのかが分からなかったので、ご質問しました。 ユーザーフォームを開くボタンがSheet1にあり、PDFファイルをSheet2に貼り付け、 ユーザーフォーム上にButton1を置いて、Button1をクリックした時にSheet2のPDFを開くという 一連の流れを組みたいという質問で、解決いたしました。 Private Sub Button1_Click() Worksheets("Sheet2").OLEObjects(1).Verb Worksheets("Sheet1").select 'sheet2に移動したままになるので、sheet1に戻るための1文 End Sub

その他の回答 (2)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

挿入→オブジェクト→ファイルから→参照→PDFを選んでOK の操作をマクロ記録すればよいかと思います。

ryo_ky
質問者

お礼

ご回答有難うございます。 マクロ記録には ActiveSheet.OLEObject.Add(Filename:= _ "アドレス先", Link:=False, _ DisplayAsIcon:=False).Select とありますが、 kybo様の回答はNo.1様のハイパーリンクに対しまして、 ファイルのアドレスが分かるという事で宜しいしょうか?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

「ハイパーリンク」で良いのでは?

ryo_ky
質問者

お礼

ご回答有難うございます。 ハイパーリンクとはリンク先のファイルを開く事だと思うのですが、 Private Sub Bottun1_Click() ActiveWorkbook.FollowHyperlink _ Address:=アドレス先, _ '""内はアドレス先 SubAddress:="#2", _ Newwindow:=true End Sub と書いた時、アドレス先が例えばC:\Documents and Settings\All Users\Documents\ABC.PDF であれば、リンク先のPDFが開けるのですが、オブジェクト内に埋めたファイルのアドレスが分からなかったので、 アドレスについて調べてみます。

関連するQ&A