• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2010のVBAでPDFを開きたい)

エクセル2010でPDFを開く方法

このQ&Aのポイント
  • エクセル2010のVBAを使用してPDFを開く方法について
  • エクセルのワークシートにPDFファイルを挿入し、ボタンを使って開こうとしているが、アクティブにならず表示されない問題
  • PDFではなくワード文書を張り付けた場合はアクティブになるが、PDFはアクティブにならず表に表示されない

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

  • ベストアンサー
回答No.1

こんにちは。 今、余裕ないので簡単なレスしか出来ませんが、 > Worksheets("Sheet2").OLEObjects(1).Verb Verb:=xlPrimary 正確には、  Worksheets("Sheet2").OLEObjects(1).Verb Verb:=xlVerbPrimary なのですが、私を含めて不正確な記述が多いんですよね。 この、不正確な"Enum=列挙体 の扱い"が、 ユーザーによる自己解決を遠ざけている (という事例は、マクロの記録やMSDNのドキュメント等含め、 信頼を寄せるQA回答者さんでさえ誤用している例が多数あり) 割とよくある残念なケースに当たります。 xlPrimary = 1 xlVerbPrimary = 1 なので、間違いではないのですが、 同値の似た定数を使用することで、本来の OLEObject.Verb メソッド の引数Verbに求められるところの、  XlOLEVerb 列挙   xlVerbOpen   xlVerbPrimary に辿り着くことが解り難くなってしまっている、という、、、。  Worksheets("Sheet2").OLEObjects(1).Verb Verb:=xlVerbOpen が直接の回答になります。 あるいは、 > エクセルのワークシートSheet2にPDFのファイルを挿入しました。アイコン表示になっています。 オブジェクトの挿入の際、[リンク]にチェックを入れておけば、 ご提示のままの記述でも、PDF(Adobe Acrobat Reader かな?)は アクティブになる筈です。 今後のこととして、 ご提示の記述内の、".Verb"の部分をクリックして、 キャレット(カーソル)を当てた状態で[F1]キーを押して、 VBAのヘルプを表示させることを試す習慣をつけるようにしてみて下さい。 今回の回答に至った私とて、すべてを記憶している訳ではなく、 ヘルプやオブジェクトブラウザをあたることをきっかけにして、 過去のコンテンツを調べ直しているだけですので。 今回は、以上になります。

emaxemax
質問者

お礼

Verb:=xlVerbOpen これで解決しました! ありがとうございます。 これで月曜日、安心して会社に行けます!

その他の回答 (1)

回答No.2

念の為、追記しますが、 対象のPDFファイルが既に開いている場合には、 回答No.1に記した方法では、 対象ファイルを、Activate(最前面表示)出来ません。 > ... PDFを開こうと ... という要求にのみ応えたものですので、ご了承を。

emaxemax
質問者

お礼

はい、ご丁寧にありがとうございます。 いずれはそのような画面の切り替えまでやってみようとは思いますが今回はこれで解決しました。

関連するQ&A

専門家に質問してみよう