

No.1ベストアンサー
- 回答日時:
以下のマクロは
ActiveWorkbook.Pathの一つ下の階層のフォルダパスを取得し、メッセージボックスに表示します。
標準モジュールに登録してください。
Sub Sample()
Dim FName As String
FName = Dir(ThisWorkbook.Path & "\" & "*", vbDirectory)
Do While FName <> ""
If (GetAttr(ThisWorkbook.Path & "\" & FName) And vbDirectory) > 0 And FName <> "." And FName <> ".." Then
MsgBox (FName)
End If
FName = Dir
Loop
End Sub
No.4
- 回答日時:
特殊フォルダを取得したいと言う事でしょうか?
その場合は、Windows Scripting Hostを使います。
Private Sub Sample_WshFol()
Dim MyPath As String
MyPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\"
'MyPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" ’デスクトップ
Debug.Print MyPath 'イミディエイトウィンドウに出力
End Sub
また、任意のサブフォルダを取得する場合は、FileSystemObjectを使います。
folder As Scripting.folderを使用している為、事前バインディングしてください。
参照設定(VBE-ツール)でMicrosoft Scripting Runtimeにチェックを入れてください。
Sample_SubFolを実行します。
Option Explicit
'Dim Pch_Arr() As Variant
Private Sub Sample_SubFol()
Dim fso As Scripting.FileSystemObject
Set fso = New FileSystemObject
listSubFolders fso.GetFolder("C:\Users\"), 1
End Sub
Private Sub listSubFolders(ByVal folder As Scripting.folder, ByRef n As Long)
Dim fol As Scripting.folder
For Each fol In folder.SubFolders
Debug.Print fol 'イミディエイトウィンドウに出力
' ReDim Preserve Pch_Arr(n)
' Pch_Arr(n) = fol & "\"
' n = n + 1
' listSubFolders fol, n '再帰処理
Next
Set fol = Nothing
End Sub
Sampleは、1つ下の(For Eachで)サブフォルダすべてを抽出しています。
コメント部は、(今回、気にしないでください。)配列にアドレスを入れる。また、さらにに下階層抽出
No.2
- 回答日時:
一覧を取得すれば良いのでしょうか?
「ActiveWorkbook.Path」は「ActiveWorkbook」が保存されているパスなので上位フォルダは1つですが下位フォルダーは無かったり複数あったりします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAで一つ上の階層を指定して保存したい
Excel(エクセル)
-
EXcelのマクロで相対パスでファイルを開く
その他(Microsoft Office)
-
エクセルマクロで指定フォルダの下層フォルダにあるファイル全てを集計したいのですが、1階層下のフォルダ
Excel(エクセル)
-
-
4
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
5
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
6
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
7
エクセルVBAでパスの¥マークについて
Access(アクセス)
-
8
1つ下の階層のフォルダに相対パスでアクセスするには
HTML・CSS
-
9
ActiveWorkbook.Pathの一つ上
PowerPoint(パワーポイント)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
12
VBAコード記述に際して、コード全体を自動的にインデント付ける方法
Access(アクセス)
-
13
エクセルVBAでブックを相対パスで保存する
Excel(エクセル)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
16
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
17
Excel 相対パス
Excel(エクセル)
-
18
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
19
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
20
エクセルで相対パスの書き方を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで可視セルの行番号取得
-
jsp 動的テーブルについて
-
EXCEL VBAで、EXCELの入力規則...
-
腕時計の時報をならないように...
-
漏電遮断器の黄色ボタンと白色...
-
サーブレットから別フレームの...
-
三菱GOTの画面切り替えについて
-
グローバルIPアドレスの変更タ...
-
IIS+VBScriptでの処理待ちについて
-
C# ログイン画面からメイン画面...
-
フォーム上で押されたボタンに...
-
ボタンが活性化の場合とは、ボ...
-
フォームで同じ複数のnameで違...
-
C言語で今まで表示していた画面...
-
JAVAのセッション変数の上書き...
-
アドレスバーに引数を表示させ...
-
<%@ language="VBScript" %>
-
StrutsでPOSTのデータ(リクエ...
-
登録後、呼び出し元ページに戻...
-
Strutsでフレーム使用時のerror...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBAで、EXCELの入力規則...
-
ActiveReportのDataSourceについて
-
Formatでmmが月と分を意味する理由
-
jsp 動的テーブルについて
-
Excelで可視セルの行番号取得
-
ActiveWorkbook.Pathの一つ下の...
-
javascriptでIMEの状態を取得
-
登録済みイベントリスナーの情...
-
スプレッドのアクティブセルの...
-
GetWindowTextについて
-
漢字読み取得方法
-
Androidアプリにて標高を取得す...
-
java → jsp コンボボックス表示...
-
HSPでHTMLのタグのパラメーター...
-
javaを使い、jsonデータを取得...
-
データグリッドでの日本語入力方法
-
JAVA と JSPの ArrayListのやり...
-
javascriptでローカルフォルダ...
-
WebBrowserに表示されているペ...
-
波に関する情報
おすすめ情報