仕事で使うファイルの整理が苦手で、フォルダーを用途別にしたまでは
よいのですが、どこに置いたか忘れて結局ファイル名の検索などで
目的のファイルにたどりついたりしています。
「効率よく作業したい」これが第一なのですが
「私はこうしている」と同僚に自慢したい面もあり
下記のようなことが出来ないかと考えました。
(1)Excel VBA でファイル一覧を作成する。
(2)ファイル名を格納したセル(あるいは行)をクリックすると
目的のファイルが開く。
(1)は出来ました。
(2)はOffice系だけでなくPDF・JPEG・CSV等がありつまづいています。
(1)もサンプルVBAを使ってどうにか作れた程度の初心者です。
(2)はVBA初心者レベルで何とかなるものでしょうか。
OS:VISTA Office2007です。
No.2ベストアンサー
- 回答日時:
こんにちは。
拡張子が正しく設定されているなら、こういうコードで開くはずです。
ダブルクリックして開きます。ハイパーリンクは必要ありません。ファイル名は、フル・ファイル名であっても、単に、ファイル名だけでも開くようにしてあります。ファイル名だけの時は、デフォルト・パスに入っていないと開かないようになっています。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Win 2000以上
Dim Fname As String
Cancel = True
'デフォルト・パス(ユーザー設定)
Const mPATH As String = "C:\MyFiles\" '*要設定
If Target.Value = "" Then Exit Sub
If Dir(mPATH, vbDirectory) = "" Then MsgBox "Default Path Err!": Exit Sub
If InStr(Target.Value, mPATH) > 0 Then
Fname = Target.Value
Else
Fname = mPATH & Target.Value
End If
If Dir(Fname) <> "" Then
CreateObject("Shell.Application").ShellExecute Fname
Else
MsgBox "ファイルが見当たりません。", vbInformation
End If
End Sub
CreateObject("Shell.Application").ShellExecute Fname
色々な局面で利用できそうです。ありがとうございました。
また、ファイルなしの判定も載せていただき大変参考になりました。
No.1
- 回答日時:
>ファイル名を格納したセル(あるいは行)をクリックすると
>目的のファイルが開く。
下記のコードの内、"D:\hoge\hoge.csv" の部分は、行内の文字列から取得してください。
●その行のどこかに、「目的のファイル」へのハイパーリンクを貼る
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="D:\hoge\hoge.CSV", _
TextToDisplay:="表示名"
●その行を右クリックで、「目的のファイル」を開く
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
ActiveWorkbook.FollowHyperlink "D:\hoge\hoge.csv"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
excel マクロ PDF化の際のエラ...
-
ExcelのVBAコードについて教え...
-
AccessからOLEオブジェクト型の...
-
FTP対応のアプリケーション
-
「AccessViolationException」...
-
VBA:ファイルプロパティの一部...
-
FileDialog オブジェクトでファ...
-
VB6でUTF-8ファイルの読取りを
-
ファイルを開く時間測定のスク...
-
【VBAマクロ初心者】Excel VBA...
-
サブフォルダ含むフォルダ内の...
-
エクセルのVBAで開いている...
-
EXCEL VBAを使ったファイル解析...
-
更新日が指定日以降のファイル取得
-
【ACCESS VBA】アクセスからデ...
-
ファイルのアクセス回数について
-
バッチファイル 二つ上のディ...
-
エクセルのプロパティーでセキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
ffftpでファイル取得が0バイト...
-
動かなくなってしまった古いVBA...
-
excel マクロ PDF化の際のエラ...
-
VBからExcelファイルを開くとき...
-
「エクセルファイルが開いてい...
-
VBAでフォルダ内のhtmlファイル...
-
複数のワークブックのVBAを変更...
-
ExcelVBA 文字コード変換
-
Wordのプロパティ・総ページ数...
-
「AccessViolationException」...
-
エクセルのVBAで開いている...
-
AccessからOLEオブジェクト型の...
-
VBAで色々な種類のファイルを開く
-
VBAでCSVファイルを読み込もう...
-
VB.net XMLの作成方法 Iniの代替
-
【ACCESS VBA】アクセスからデ...
-
VBA、ファイル名検索から開く、...
おすすめ情報