下のコードをみつけました。
質問が二つあります。
1.エラーになります。
実行するとユーザー定義型は定義されていません、と出ます。どこが不具合でしょうか?おなじように記述したつもりですが・・・
2.コードでは、Cドライブの中にあるフォルダに固定されていますが、これをウィンドウを表示させて、検索したいフォルダを選択させて調べるようにできますか?
どうぞよろしくお願いします。
Sub フォルダ取得()
Dim myFSO As New FileSystemObject
Dim myFolders As Folders
Dim myFolder As folder
Dim i As Integer
Set myFolders = myFSO.GetFolder("C:\").SubFolders
i = 1
For Each myFolder In myFolders
Cells(i + 1, 1).Value = myFolder.Name
i = i + 1
Next
End Sub
No.1ベストアンサー
- 回答日時:
1.New FileSystemObjectでエラーが出るのであれば
Sub フォルダ取得()
Dim myFSO, myFolders, myFolder
Dim i As Integer
Set myFSO = CreateObject("Scripting.FileSystemObject")
Set myFolders = myFSO.GetFolder("C:\").SubFolders
i = 1
For Each myFolder In myFolders
Cells(i + 1, 1).Value = myFolder.Name
i = i + 1
Next
End Sub
2.フォルダを選択
Sub フォルダ取得2()
Dim myFSO, myFolders, myFolder, Fol
Dim i As Integer
Set myFSO = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then Fol = .SelectedItems(1) & "\"
End With
Set myFolders = myFSO.GetFolder(Fol).SubFolders
i = 1
For Each myFolder In myFolders
Cells(i + 1, 1).Value = myFolder.Name
i = i + 1
Next
End Sub
この回答への補足
suz83238さんありがとうございました。完璧なご回答いただき感謝です。一点、お聞きしてから締め切りをさせていただきたいのですが、お願いできるでしょうか?
New FileSystemObjectでエラーというのは、パソコンによってサポートしていなかったりする、というようなことでしょうか?
No.2
- 回答日時:
> 実行するとユーザー定義型は定義されていません、と出ます
使用する前に、[プロジェクト]→[参照設定]で Microsoft Scripting Runtime の参照にチェックを入れておいて下さい。
これがされていないPCでエラーになります。
> 検索したいフォルダを選択させて調べるようにできますか?
Sub Test()
Dim MyTarget As String
Dim myFSO As New FileSystemObject
Dim myFolders As Folders
Dim MyFolder As folder
Dim i As Integer
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
MyTarget = .SelectedItems(1)
End With
Set myFolders = myFSO.GetFolder(MyTarget).SubFolders
i = 1
For Each MyFolder In myFolders
Cells(i + 1, 1).Value = MyFolder.Name
i = i + 1
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
ディレクトリ名変更してコピー...
-
フォルダにリンクを貼りたい
-
同一フォルダ内の別ブックから...
-
保存先のフォルダ名を指定した...
-
pythonでDepixを起動
-
windowsでテキストファイルの各...
-
集めたシートのシート名を変更...
-
Excel VBA マクロ リストボックス
-
指定フォルダからファイルを全...
-
エクセルのデータをメモ帳に貼...
-
Pythonの作業環境・作業フォル...
-
フォルダのサイズを一覧にした...
-
あるフォルダの中にあるファイ...
-
フォルダを自分ごと削除
-
エクセル VBAについて教えてく...
-
ExcelのVBA:フォルダ内のファイ...
-
インストール時に、空フォルダ...
-
excelマクロ 冒頭3文字が一致す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
フォルダ内のPDFファイル名を変...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
保存先のフォルダ名を指定した...
-
多量のファイルをフォルダに自...
-
パス名に2バイト文字(マルチバ...
-
ディレクトリ名変更してコピー...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
サーバ内のフォルダ名と各フォ...
-
フォルダにリンクを貼りたい
-
vbsで選択ダイアログを表示した...
おすすめ情報