• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBScriptでのフォルダ指定ダイアログについて)

VBScriptでフォルダ指定ダイアログを表示する方法

このQ&Aのポイント
  • VBScriptでの「フォルダ指定ダイアログ」を利用して、保存元のフォルダと保存先のフォルダを選択し、特定ファイルのコピーをする方法について教えてください。
  • VBScriptを使用して、フォルダ指定ダイアログを表示し、選択したフォルダの階層をテキストフォームに表示する方法について教えてください。
  • VBScriptでのフォルダ指定ダイアログ表示後、選択したフォルダの階層をテキストフォームに表示させる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答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は確認後は削除して、必要な箇所に「処理」のコードを入れてください。

ken0109
質問者

お礼

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