[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『目次からファイルを開けるようにしたい』(TARO)
1つのフォルダー内にファイルが沢山あります。
ファイルを探すのに目次を作りそのファイルが開くことが出来るとよいのですが、
何かよい方法はありませんでしょうか?
[エクセルのバージョン]Excel2003,
[OSのバージョン]WindowsXP
ハイパーリンク関数を使用 目次を作りそのファイルが開くことが出来るとよいのですが の参考として 単一フォルダと配下のフォルダを含めたファイル一覧を取得します http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html (ken)
(TARO)
目次の作り方は下記を参照しました。
' 指定したフォルダ内のファイルの一覧を取得
Sub Display_Directory()
Const cnsTITLE = "フォルダ内のファイル名一覧取得" Const cnsDIR = "\*.*" Dim xlAPP As Application Dim strPATHNAME As String Dim strFILENAME As String Dim GYO As Long
Set xlAPP = Application ' InputBoxでフォルダ指定を受ける strPATHNAME = xlAPP.InputBox("参照するフォルダ名を入力して下さい。", _ cnsTITLE, "C:\") If StrConv(strPATHNAME, vbUpperCase) = "FALSE" Then Exit Sub ' フォルダの存在確認 If Dir(strPATHNAME, vbDirectory) = "" Then MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTITLE Exit Sub End If
' 先頭のファイル名の取得 strFILENAME = Dir(strPATHNAME & cnsDIR, vbNormal) ' ファイルが見つからなくなるまで繰り返す Do While strFILENAME <> "" ' 行を加算 GYO = GYO + 1 ' 先頭は1行目 Cells(GYO, 1).Value = strFILENAME ' 次のファイル名を取得 strFILENAME = Dir() Loop
End Sub
(TARO)
こんにちは! なるべくTAROさんのコードを残して私なりに作ってみました。 よかったら参考にしてください。 Option Explicit '指定したフォルダ内のファイルの一覧を取得 Sub Display_Directory() Const cnsDIR As String = "\*.*" Dim strPATHNAME As String Dim strFILENAME As String Dim GYO As Long Dim MyObj As Object Set MyObj = CreateObject("Shell.Application"). _ BrowseForFolder(0, "フォルダーを選択して下さい。", 0) If MyObj Is Nothing Then Exit Sub strPATHNAME = MyObj.Items.Item.Path '先頭のファイル名の取得 strFILENAME = Dir(strPATHNAME & cnsDIR, vbNormal) 'ファイルが見つからなくなるまで繰り返す With ActiveSheet .Range("A1", .Range("A" & .Rows.Count).End(xlUp)).ClearContents Do While strFILENAME <> "" '行を加算 GYO = GYO + 1 '先頭は1行目 .Cells(GYO, 1).Value = strFILENAME 'ハイパーリンクをセットする .Hyperlinks.Add .Cells(GYO, 1), strPATHNAME & "\" & strFILENAME '次のファイル名を取得 strFILENAME = Dir() Loop End With Set MyObj = Nothing End Sub (SoulMan)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.