[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ハイパーリンクの自動作成』(fuku)
[[20050324161946]]を使ってファイルリストを作成させて頂きました。
個々のデータにハイパーリンクも同時に設定することは可能なのでしょうか。
データ数が多いので1個ずつリンクさせるのは大変な作業になるので なんとかしたいのですが・・・。
こんな方法もあるよという方がいらっしゃいましたらお願いします。
XP、EXCEL2007です。
昔作ったもののコピペです。 普段の業務で使用しているので、多分ちゃんと動くと思いますが、 当方はExcel2003です。(osは一緒でxpですが)
Sub おまけ_FileList()
Dim Fsys As Object, aFolder As Object, aFile As Object
Dim A As Long, aPath As String, HLSw As Long
On Error Resume Next
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
aPath = .SelectedItems(1)
End With
If aPath = "" Then Exit Sub
Set Fsys = CreateObject("Scripting.FileSystemObject")
Set aFolder = Fsys.GetFolder(aPath)
HLSw = MsgBox("ハイパーリンクを付加しますか?", vbYesNo + vbQuestion)
If ActiveWorkbook Is Nothing Then Workbooks.Add
If ActiveWorkbook.Path <> "" Or Not ActiveWorkbook.Saved Then Workbooks.Add
A = 1
Range("A1:H1").Value = Array("Name", "Size", "Type", "DateCreated", "DateLastAccessed", "DateLastModified", "Attributes", "Path")
Application.StatusBar = "ファイルサイズを計算しています・・・"
If aFolder.SubFolders.Count = 0 Then GoTo FILES_PHASE
For Each aFile In aFolder.SubFolders
A = A + 1
Cells(A, 1).Value = aFile.Name
If HLSw = vbYes Then ActiveSheet.Hyperlinks.Add anchor:=Cells(A, 1), Address:=aFile.Path, TextToDisplay:=aFile.Name
Cells(A, 2).Value = aFile.Size
Cells(A, 3).Value = aFile.Type
Cells(A, 4).Value = aFile.DateCreated
Cells(A, 5).Value = aFile.DateLastAccessed
Cells(A, 6).Value = aFile.DateLastModified
Cells(A, 7).Value = aFile.Attributes
Cells(A, 8).Value = aFile.ParentFolder.Path
Next
FILES_PHASE:
If aFolder.Files.Count = 0 Then GoTo FREE_PHASE
For Each aFile In aFolder.Files
A = A + 1
Cells(A, 1).Value = aFile.Name
If HLSw = vbYes Then ActiveSheet.Hyperlinks.Add anchor:=Cells(A, 1), Address:=aFile.Path, TextToDisplay:=aFile.Name
Cells(A, 2).Value = aFile.Size
Cells(A, 3).Value = aFile.Type
Cells(A, 4).Value = aFile.DateCreated
Cells(A, 5).Value = aFile.DateLastAccessed
Cells(A, 6).Value = aFile.DateLastModified
Cells(A, 7).Value = aFile.Attributes
Cells(A, 8).Value = aFile.ParentFolder.Path
Next
FREE_PHASE:
If aFolder.IsRootFolder Then
A = A + 1
Cells(A, 1).Value = "(AvailableSpace)"
Cells(A, 2).Value = aFolder.Drive.AvailableSpace
End If
Application.StatusBar = False
Set aFolder = Nothing
Set aFile = Nothing
Set Fsys = Nothing
Columns("D:F").NumberFormatLocal = "yyyy/mm/dd hh:mm:ss;@"
Range("A:G").EntireColumn.AutoFit
Cells(2, 2).Select
ActiveWindow.FreezePanes = True
Exit Sub
Ed:
MsgBox aFolder.Path & Chr(10) & "にファイルは見つかりませんでした。", vbInformation
Application.StatusBar = False
Set aFolder = Nothing
Set aFile = Nothing
Set Fsys = Nothing
End Sub
ご参考まで・・・
(白茶)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.