私も手探りだが、下記を実行してみてください。
望むものかな。
Sub test01()
Dim objShell
Dim objFolder
Dim objfolderx
Dim objfile
' オブジェクトの生成
Set objShell = CreateObject("Shell.Application")
' フォルダ選択ダイアログを表示
Set objFolder = objShell.BrowseForFolder(0, "フォルダを選択してください", 0)
MsgBox objFolder
MsgBox objFolder.items.Item.Path
p = objFolder.items.Item.Path
'--
Set objfs = CreateObject("Scripting.FileSystemObject")
Set objfolderx = objfs.getfolder(p & "\")
MsgBox objfolderx.Name
For Each objfile In objfolderx.Files
MsgBox objfile.Name
Next
'-
Set objfs = Nothing
Set objfolderx = Nothing
Set objShell = Nothing
End Sub
ーーーー
MsgBox objFolder
が質問の答えかな。
あとFSOで引き取って、そこの中のファイル名を表示しているつもり。
MsgBoxは確認後は削除して、必要な箇所に「処理」のコードを入れてください。
質問者
お礼
imogasi さん
ありがとうございます。.htmlではエラーになってしまったので、
.htaで保存した場合には動きました。
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder( _
0, "フォルダを選択:", 0, "ssfDeskTop")
If objFolder Is nothing Then
MsgBox("フォルダを選択してください。")
Else
pathFolder = objFolder.Items().Item().Path
ifd.value = vbCr & pathFolder
Set objFolder = nothing
End If
End sub
お礼
imogasi さん ありがとうございます。.htmlではエラーになってしまったので、 .htaで保存した場合には動きました。 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder( _ 0, "フォルダを選択:", 0, "ssfDeskTop") If objFolder Is nothing Then MsgBox("フォルダを選択してください。") Else pathFolder = objFolder.Items().Item().Path ifd.value = vbCr & pathFolder Set objFolder = nothing End If End sub