
VBSciptでの「フォルダ指定ダイアログ」について教えてください。
「フォルダ指定ダイアログ」を利用して、保存元のフォルダと保存先の
フォルダを選択し、特定ファイル(*.jpg)のコピーをするツールを作っています。
下記のプログラムで、「フォルダ指定ダイアログ」が表示されるのは
確認できたのですが、選択したフォルダの階層をテキストフォームに
表示させる方法を教えてください。(書き込みできませんのエラーになります。)
---------------------------------------------------------
Dim objShell
Dim objFolder
' オブジェクトの生成
Set objShell = CreateObject("Shell.Application")
' フォルダ選択ダイアログを表示
Set objFolder = objShell.BrowseForFolder(0, "フォルダを選択してください。", 0)
Set objShell = Nothing
---------------------------------------------------------
以上、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
私も手探りだが、下記を実行してみてください。
望むものかな。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パス名に2バイト文字(マルチバ...
-
サーバ内のフォルダ名と各フォ...
-
C ファイル出力で、フォルダが...
-
デスクトップの画像をhtmlに表...
-
excelマクロ 冒頭3文字が一致す...
-
EXCELのセルにフォルダのパスの...
-
条件に合うフォルダが存在する...
-
ファイル名と同名のフォルダを...
-
フォルダ選択ダイアログ:ネッ...
-
GetPrivateProfileString関数
-
フォルダ名に番号を連番でつけたい
-
指定したフォルダを開く
-
Excelのハイパーリンクについて...
-
エクセルマクロで指定フォルダ...
-
エクセル VBA Filename:=Left(T...
-
期間を指定したフォルダの削除...
-
ファイルサイズを指定してファ...
-
会社のネットワーク上のファイ...
-
VBA フォルダ名に特定の文字を...
-
フォルダ内のファイルの作成日...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
ファイル名と同名のフォルダを...
-
会社のネットワーク上のファイ...
-
ExcelのVBAでフォルダ指定がで...
-
Excelで指定したフォルダに保存...
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
VB.NRT FolderBrowserDialogを...
-
【マクロ】フォルダにファイル...
-
ThisWorkbookがあるフォルダ更...
-
ディレクトリ名変更してコピー...
-
(C#)フォルダを指定するダイ...
-
VB6で7-ZIPのAPIを使用した圧縮...
-
VBプロジェクトでのフォルダ構...
-
パス名に2バイト文字(マルチバ...
-
Debug フォルダは消していいの?
-
フォルダにリンクを貼りたい
-
フォルダAから1つのファイルだ...
おすすめ情報