お世話になっております。
エラーの原因が分かったので再質問させていただきます。
Excel 2007を使用しておりますのでよろしくお願いします。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
上記アドレスで紹介されてるファイル一覧の取得について、フォルダのアドレス先をSheet1のa4セルから取得したいのですが、どのように書けばよろしいでしょうか。
他の質問を参考に下記のように修正したのですが
"C:\****0¥"と、セルの値が0表示になってしまいました。
inputboxに入力する方法でなくともかまいませんので
どうぞよろしくお願いします。
Option Explicit
' 指定したフォルダ内のファイルの一覧を取得
Sub Display_Directory()
Const cnsTitle = "フォルダ内のファイル名一覧取得"
Const cnsDIR = "\*.*"
Dim xlAPP As Application
Dim strPathName As String, vntPathName As Variant
Dim strFileName As String
Dim GYO As Long
Set xlAPP = Application
' InputBoxでフォルダ指定を受ける
vntPathName = xlAPP.InputBox("参照するフォルダ名を入力して下さい。", _
cnsTitle, "C:\****" & Sheets(1).Range("A4") & "¥") ' ①
If VarType(vntPathName) = vbBoolean Then Exit Sub
strPathName = vntPathName
' フォルダの存在確認
If Dir(strPathName, vbDirectory) = "" Then ' ②
MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTitle
Exit Sub
End If
' 先頭のファイル名の取得
strFileName = Dir(strPathName & cnsDIR, vbNormal) ' ③
' ファイルが見つからなくなるまで繰り返す
Do While strFileName <> "" ' ④
' 行を加算
GYO = GYO + 1 ' 先頭は1行目
Cells(GYO, 1).Value = strFileName ' ⑤
' 次のファイル名を取得
strFileName = Dir() ' ⑥
Loop
End Sub
No.1
- 回答日時:
2016で確認しましたが、A4の文字列出てきました。
。。aaaaって入れたら、c:\****aaaa\と出てきて、
100って入れたら、c:\****100\と出てきました。
ちなみに、A4セルにはどんな値が入っているのですか?
検証ありがとうございます。
関数とかではなくベタ打ちで文字が入っているのですが、やはり0表示になってしまいました。
もしかしたら他におかしいとこがあるかもしれないので、自分でも検証してみます。
No.2ベストアンサー
- 回答日時:
ご自身のコードではありませんが、今はこういう書き方をしませんね。
vntPathName とか、 xlApp = Application とか。分かりきっていることを全部入れることはしません。>cnsTitle, "C:\****" & Sheets(1).Range("A4") & "¥") ' ①
なんのために、Sheets(1).Range("A4")としているのか良く分かりません。
あえて、質問のコードに従わなければですが、以下のようにコードを書いてみました。
'//
Sub GetFileNames()
Dim TargetDir As String
Dim i As Long
Dim FName As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "フォルダー選択"
If .Show = -1 Then
TargetDir = .SelectedItems(1) & "\"
Else
Exit Sub
End If
End With
FName = Dir(TargetDir & "*.*", vbNormal) '*.*は、定数に置く必要はありません。
Do While FName <> ""
If FName <> "." And FName <> ".." Then
If (GetAttr(TargetDir & FName) And vbNormal) = vbNormal Then
Cells(4 + i, 1) = FName 'A4から
i = i + 1
End If
End If
FName = Dir
Loop
End Sub
マクロまで書いてくださってありがとうございます。
こちらを参考にしつつ、試行錯誤してみようと思います。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
同一フォルダ内の別ブックから...
-
集めたシートのシート名を変更...
-
VBA フォルダ名に特定の文字を...
-
excelマクロ 冒頭3文字が一致す...
-
ファイルとフォルダのどちらも...
-
パス名に2バイト文字(マルチバ...
-
ExcelのVBA:フォルダ内のファイ...
-
PHPで、指定フォルダ(サブフォ...
-
フォルダ内のファイルの作成日...
-
Excelのハイパーリンクについて...
-
Dreamweaverでイメージを挿入す...
-
VBA 最新のフォルダ取得
-
VBScriptで作るファイル移動プ...
-
C++のコンソールアプリケーショ...
-
VBAで行うフォルダ・ファイル検...
-
Let’s Encryptでwebroot設定な...
-
exclude xcopy 除外フォルダ指...
-
ツリービューを使って、エクス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
フォルダ内のPDFファイル名を変...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
保存先のフォルダ名を指定した...
-
多量のファイルをフォルダに自...
-
パス名に2バイト文字(マルチバ...
-
ディレクトリ名変更してコピー...
-
Access VBA で フォルダ権限...
-
C ファイル出力で、フォルダが...
-
サーバ内のフォルダ名と各フォ...
-
フォルダにリンクを貼りたい
-
vbsで選択ダイアログを表示した...
おすすめ情報