Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 11 Pro : Microsoft 365)
pdfファイルを呼び出したい
投稿日時: 22/12/22 13:51:16
投稿者: hidey_g

次のような形のものを作成しています
@データエースファイル(PDF)
 C¥DATA¥〇〇.pdf  (以下多数のファイル
 
A検索用Excelファイル
シートに以下のような一覧を作ってみます
左から、番号、県名、データが保存されている場所
 
1 青森   C¥DATA¥青森.PDF
2 岩手   C¥DATA¥岩手PDF
3 福島   C¥DATA¥福島.PDF
 以下同様
 
ここで、たとえばA1セルに数字の「1」を入れるとB1に「C¥DATA¥青森.PDF」と表示させます
(VLOOKUP関数を理容)
 
例えば、青森のファイルを呼び出す方法として、以下のようなマクロを設定しました。
 
Sub ファイルを開く()
  CreateObject("Shell.Application").ShellExecute ”C¥DATA¥青森.PDF”
End Sub
 
とすると、青森のPDFファイルを呼び出すことはできました。
しかし、呼び出したいファイルをその都度やっていては埒があきません。
 
ですから、上記のように指定した番号と対応したファイルを汎用的に呼び出す方法をご教授ただければ幸いです
 
B1に表示された価を入れてみようと試みましたが、うまくいきません
 
どういう方法が愛的なのでしょうか
お願いいたします
 

回答
投稿日時: 22/12/22 14:02:12
投稿者: simple

単に開くだけであれば、
Hyperlink関数を使って、シートにPDFファイルへのハイパーリンクを作成したらどうでしょうか。
どうしてもマクロでということなら、ダブルクリックのイベントプロシージャを使う手もあります。

投稿日時: 22/12/22 15:18:20
投稿者: hidey_g

早速のご教授りがとうございます。
最近、VBAの学習を始め、何とかできないかと案が得ていましたが、教えていただいた方法の方がすっきりします
 
一度このほうほうでやってみます。ありがとうございます
 
ただ、VBAの方も今後利用できるコードがあるかもしれませんので、ご教授いただける方のアドバイスを伊原熊地帯と思いますので、この質問あ解決済みにしないでおきます。

回答
投稿日時: 22/12/22 15:44:39
投稿者: taitani
投稿者のウェブサイトに移動

Sub ファイルを開く()
  CreateObject("Shell.Application").ShellExecute ”C¥DATA¥青森.PDF”
End Sub

 
これ、実際のコードですか?
 
「”C¥DATA¥青森.PDF”」がすべて全角なので、上記のコードが実施のコードであれば、
必ずエラーが発生する見解です。
 

回答
投稿日時: 22/12/23 08:58:04
投稿者: Suzu

そのまま使うなら
 
Sub ファイルを開く()
  CreateObject("Shell.Application").ShellExecute """" & Range("B2").Value & """"
End Sub
 
 
WSH の Runメソッド
CreateObject("WScript.Shell").Run Range("B2").Value
 
ハイパーリンク
ThisWorkbook.FollowHyperlink Range("B2").Value
 
 
なんてのも。
 
 
 
Excel関数 を使っても難しくは無いので、私なら Excel関数を採りますかね。
 
=IF(ISBLANK(A1),"",HYPERLINK(VLOOKUP(A1,範囲,3)))

トピックに返信