• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロで特定フォルダ内のJPGファイルを検索して開きたいので)

エクセルマクロで特定フォルダ内のJPGファイルを検索して開く方法

このQ&Aのポイント
  • エクセルのマクロを使用して特定フォルダ内のJPGファイルを検索して開く方法についてご質問いただきました。質問内容によると、アクティブセルの値で始まるJPGファイルを開くためにワイルドカードを使用したがうまくいかないとのことです。
  • 解決方法として、マクロ内でワイルドカードを利用する際には正しいパス名を指定する必要があります。パス名の指定方法に誤りがある可能性があるため、確認することをおすすめします。
  • また、ワイルドカードを使用する代わりに、VBAの関数を使用して特定フォルダ内のファイルを検索する方法もあります。VBAのFilesystemObjectを利用することで、より柔軟にファイルの検索が可能となります。具体的なコード例や方法については、VBAのリファレンスなどを参考にしてください。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

元のコードは、通るかと思いましたが、通らないようですね。   P = "パス名\" & Fname & "*.JPG"    ↓   P = "パス名\" とすれば起動するはずです。本来、フォルダに対して反応するように出来ているようです。 PathName 等をご自身のPCに合わせて書き換えてください。私は、このレベルでのミスは避けたいところですが、試してみてください。 '// Sub OpenPictures()  Dim BaseName As String  Dim Fname As String  Dim P As String  Const CMD As String = "C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen"  Const PathName As String = "C:\My Documents\My Pictures\" '最後に\入れる  BaseName = ActiveCell.Value  If BaseName = "" Then Beep: Exit Sub  Fname = PathName & BaseName & "*.jpg"  P = Dir(Fname)  If P <> "" Then   Fname = PathName & P   Shell "Rundll32.exe " & CMD & " " & Fname, vbNormalFocus  End If End Sub

sakaharu3
質問者

お礼

ありがとうございました。 見事に希望通りに動きました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

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

ん? Sub test() Dim P As String Dim Fname As String Fname = ActiveCell.Value P = dir("パス名\" & Fname & "*.JPG") if p = "" then exit sub 'おまけ Shell "Rundll32.exe" & " Shimgvw.dll,ImageView_Fullscreen" & " " & P, vbNormalFocus End Sub では。

sakaharu3
質問者

お礼

ありがとうございました。 やってみましたがやはりファイルが開きませんでした。

すると、全ての回答が全文表示されます。
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

Dir関数を使ってまず、ファイル名を取得しないといけません。 以下は、「ActiveCell.Value & "*.JPG"」で最初に見つかった1つだけ表示するサンプルです。 Sub test() Dim P As String Dim Fname As String P = "パス名\" Fname = Dir(P & ActiveCell.Value & "*.JPG") If Fname <> "" Then Shell "Rundll32.exe" & " Shimgvw.dll,ImageView_Fullscreen" & " " & P, vbNormalFocus End If End Sub

sakaharu3
質問者

お礼

ありがとうございます。 ファイルは開くのですが、希望と違うファイルが開いてしまいます。

すると、全ての回答が全文表示されます。

関連するQ&A