[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『目次からファイルを開けるようにしたい』(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.