26本目 ファイルダイアログ&ハイパーリンク

VBA100本ノック

VBA100本ノック 26本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ


問題

#VBA100本ノック 26本目
フォルダ選択のダイアログでフォルダを指定し、フォルダ内にあるファイルの一覧を「ファイル一覧」シートのA列に出力してください。
・ファイル名,更新日時,サイズ※画像参照
・Excelファイル(xls,xlsx,xlsm)にはハイパーリンクを設定
※サブフォルダは不要です。

解答

Sub FileDialogさん()

    Dim fd As FileDialog, sPath
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    fd.Show
    
    sPath = fd.SelectedItems(1)
    
    Dim fso As New Scripting.FileSystemObject
    Dim file As file
    Dim i As Long
    i = 2
    For Each file In fso.GetFolder(sPath).Files
        Cells(i, 1) = file.Name
        Cells(i, 2) = file.DateLastModified
        Cells(i, 3) = file.Size
        If fso.GetExtensionName(file) Like "*xls*" Then
            ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), _
                                                          Address:=fso.GetAbsolutePathName(file)
        End If
        i = i + 1
    Next

End Sub

Sub ハイパーリンクさん()

ActiveSheet.Hyperlinks.Add Anchor:=Cells(7, 1), _
                                              Address:="C:\26本目\Filedialogさん用\Book2.xlsm", _
                                    TextToDisplay:="ブック2"

End Sub
新人君
新人君

初めてのハイパーリンクの
問題ですね!

ブチョ
ブチョ

俺はマスターランクだけどな!

新人君
新人君

ポケモンかな?

コメント

タイトルとURLをコピーしました