エクセルでフォルダまたはファイルを開くマクロですが、どのように改良すればよろしいでしょうか?
下記マクロは、エクセルシートのJ列のあるセルをダブルクリックすると、そのセルに記入された文字列を検索して、該当のフォルダまたは、写真が開きます。(エクセルファイルと写真は同フォルダに保存している場合のみ有効)
困っていることは、J列のセルと該当フォルダまたは、写真ファイルをリンクさせたいのですが、文字列が全て一致している時のみしか開かないことです。
D<デジカメ<商品名フォルダ<写真ファイル
例えば セルJ3の文字列がABCEで、フォルダ名またはファイル名がABCDEFであった場合、文字列ABCEを含む条件で、フォルダ名またはファイル名ABCDEFを開くように改良したいのですが、
また、エクセルファイルと写真ファイルの保存場所は、全く違うフォルダにしたいのですが、
エクセルファイルと写真ファイルは、別フォルダの場合、どのように検索先フォルダのパスを入れたら良いのでしょうか?
マクロに詳しい方ご教授下さい。よろしくお願い致します。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim myPath As String
If Target.Cells(1, 1).Column <> 10 Then Exit Sub
Cancel = True
myPath = ThisWorkbook.Path & "\" & Target.Cells(1, 1).Text
If Dir(myPath, vbDirectory) <> "" Then
Shell "explorer.exe /e,/root," & myPath, vbNormalFocus
Exit Sub
End If
myPath = Replace(LCase(myPath), ".jpg", "\" & Target.Cells(1, 1).Text)
If Dir(myPath, vbNormal) <> "" Then
Shell "rundll32.exe shimgvw.dll,ImageView_Fullscreen " & myPath, vbNormalFocus
End If
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
詳細が良く分らないので、適当です
外したらゴメンネ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim myPath As String
If Target.Cells(1, 1).Column <> 10 Then Exit Sub
Cancel = True
myPath = ThisWorkbook.Path & "\" & Target.Text & "*"
If Dir(myPath, vbDirectory) <> "" Then
myPath = ThisWorkbook.Path & "\" & Dir(myPath, vbDirectory)
Shell "explorer.exe /e,/root," & myPath, vbNormalFocus
Exit Sub
End If
myPath = Replace(LCase(myPath), ".jpg*", "\" & Left(Target.Text, Len(Target.Text) - 4) & "*.jpg")
If Dir(myPath, vbNormal) <> "" Then
myPath = Replace(LCase(myPath), "*.jpg", Dir(myPath, vbNormal))
Shell "rundll32.exe shimgvw.dll,ImageView_Fullscreen " & myPath, vbNormalFocus
End If
End Sub
参考まで
No.2
- 回答日時:
Dir関数にワイルドカード「*」を指定して下さい。
パスは固定ならそのまま指定すればいいし
何か規則性があるなら条件切ればいいし
あらかじめシートに別フォルダのパスを入力させておいてもいいし
毎回毎回選ばせたいなら選ばせればいいと思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
ディレクトリ名変更してコピー...
-
フォルダにリンクを貼りたい
-
同一フォルダ内の別ブックから...
-
保存先のフォルダ名を指定した...
-
pythonでDepixを起動
-
windowsでテキストファイルの各...
-
集めたシートのシート名を変更...
-
Excel VBA マクロ リストボックス
-
指定フォルダからファイルを全...
-
エクセルのデータをメモ帳に貼...
-
Pythonの作業環境・作業フォル...
-
フォルダのサイズを一覧にした...
-
あるフォルダの中にあるファイ...
-
フォルダを自分ごと削除
-
エクセル VBAについて教えてく...
-
ExcelのVBA:フォルダ内のファイ...
-
インストール時に、空フォルダ...
-
excelマクロ 冒頭3文字が一致す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
フォルダ内のPDFファイル名を変...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
保存先のフォルダ名を指定した...
-
多量のファイルをフォルダに自...
-
パス名に2バイト文字(マルチバ...
-
ディレクトリ名変更してコピー...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
サーバ内のフォルダ名と各フォ...
-
フォルダにリンクを貼りたい
-
vbsで選択ダイアログを表示した...
おすすめ情報