VBAのIE(InternetExplorer)制御に便利なサブルーチンを紹介しています。
Function fileNameF(Optional pathName As String = "myPath") As Variant()
If pathName = "myPath" Then: pathName = ActiveWorkbook.Path 'フォルダパス
'FileSystemObjectインスタンスを生成
Set objSFO = CreateObject("Scripting.FileSystemObject")
With objSFO.GetFolder(pathName & "\")
'要素数セット
Dim fileValue() As Variant
If .Files.Count > 0 Then
ReDim fileValue(.Files.Count - 1, 3)
Else
ReDim fileValue(.Files.Count, 3)
End If
i = 0
For Each objFile In .Files
fileValue(i, 0) = objFile.Name 'ファイル名
fileValue(i, 1) = .Path & "\" & objFile.Name 'ファイルフルパス名
fileValue(i, 2) = .Path 'フォルダパス名
fileValue(i, 3) = .Name 'フォルダ名
i = i + 1
Next
End With
Set objSFO = Nothing
fileNameF = fileValue()
End Function
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
---|---|---|---|---|---|
pathName | String | 取得するフォルダパス文字列 | "C:\Users\vba-ie\Desktop\vba-ie\file\" | ● |
引数は任意項目となります。
「pathName」には、ファイル名を抽出するフォルダのパスを入力します。
初期値は実行ファイルと同じフォルダ内のパスになります。