
エクセルのマクロで特定フォルダ内のJPGファイルを検索して開きたいのですが、うまくいきません。
検索して開くファイルは、アクティブセルの値で始まります。
(例えばアクティブセルが「0000」だとすると、フォルダ内にある「0000りんご.JPG」というファイルを開く。りんごの部分は特定の文字でないためワイルドカードを使用してみましたがうまくいきません)
Sub test()
Dim P As String
Dim Fname As String
Fname = ActiveCell.Value
P = "パス名\" & Fname & "*.JPG"
Shell "Rundll32.exe" & " Shimgvw.dll,ImageView_Fullscreen" & " " & P, vbNormalFocus
End Sub
どうぞよろしくお願い致します。
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
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
では。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
マクロで同じフォルダにある画像を開くコードを教えてください。
Microsoft ASP
-
-
4
Excelで数字を入れたら対応する図を呼び出したい
Excel(エクセル)
-
5
画像を削除したい(VBA)
Word(ワード)
-
6
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
7
Excel セルに入力した画像名からフォルダの画像を自動表示させたい
Excel(エクセル)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
10
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
11
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
12
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
13
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
14
【エクセル】シート内の表をUserFormに画像として表示させる方法
Excel(エクセル)
-
15
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
16
VBAでセル値からフォルダ名を取得するコードについて
Excel(エクセル)
-
17
エクセルで次々と画像を表示させたい
Excel(エクセル)
-
18
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
19
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
20
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
xcopyコマンドの進行状況を表示...
-
VBAでの共有パスにつきまして
-
エクセルVBAで一つ上の階層...
-
【VBA】ExcelマクロでCSVファイ...
-
Excel2010VBAでエラーが出る相...
-
コマンドプロンプトのコピー関...
-
【VB.NET】App.configにファイ...
-
【VBA】複数のtxtファイルから...
-
相対パスが使えない
-
ユーザディレクトリのパス指定
-
アクセスでテキストを開く
-
ExcelVBAの使い方 ¥の使い方...
-
デスクトップなど特殊フォルダ...
-
VBA★PDFをPDFアプリで印刷し...
-
FolderBrowserDialogについて-2
-
ファイルストリームからファイ...
-
エクセルのマクロで特定フォル...
-
C++でネットワークパスのファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
Excel 相対パス
-
実行ファイルのパスを取得したい
-
xcopyコマンドの進行状況を表示...
-
【VB.NET】App.configにファイ...
-
ExcelのVBAで上書き保存を確...
-
コマンドプロンプトのコピー関...
-
VBAでパワーシェルを実行したい...
-
エクセルのマクロで特定フォル...
-
Eclipse
-
VBAでの共有パスにつきまして
-
VBA★PDFをPDFアプリで印刷し...
-
C#でのProcess.Startと変数path
-
【VBA】ExcelマクロでCSVファイ...
-
ExcelVBAの使い方 ¥の使い方...
-
fopenでのパス指定
-
EXCEL(VBA)で指定フォルダ内の...
-
A列に記載されているフォルダ...
-
VBAで、VBのapp.pathと同じ機能...
おすすめ情報