[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『For Each f In fso.GetFolderの書式』(みず)
こんばんは。
For Each f In fso.GetFolder("D:\VBA検証" & "\data").Files
With Workbooks.Open(f.Path) With .Worksheets(1) 処理 End With End With Next f
を使ってフォルダー内すべてのファイルを処理をしています。
このフォルダー内の特定のファイルのみ処理する必要があり
With Application.FileDialog(msoFileDialogFilePicker)
.Show strPath = .SelectedItems(1) End With End Sub を使いファイルを選択する様にしたのですが
For Each f In fso.GetFolder("D:\VBA検証" & "\data").Files
With Workbooks.Open(f.Path) With .Worksheets(1)
()の中に"strPath"や".SelectedItems(1)"を入れても
うまく動きません。
どのように変更すれば良いかわかりません。
どなたかご教授願えますでしょうか?
< 使用 Excel:Office365、使用 OS:Windows10 >
(γ) 2020/01/29(水) 00:29
(みず) 2020/01/29(水) 09:11
(みず) 2020/01/29(水) 09:18
なんで、1回選択したのに、わざわざFSOを持ち出すのか不明
For Each f In fso.GetFolder("D:\VBA検証" & "\data").Files
としたら、選択した意味がなくないです?
って、フォルダーを選択するのかな。。。(そっちは試してなかった><)
Option Explicit
Sub test()
Dim objSelectedItems As FileDialogSelectedItems Dim v As Variant
If GetFullPath(objSelectedItems) = False Then Exit Sub
For Each v In objSelectedItems with Workbooks.Open(v) with .Worksheets(1)
'************ 'ここで何かする '************ Stop
.Close False End with Next End Sub
Function GetFullPath(ByRef fd As FileDialogSelectedItems) As Boolean
With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True .Filters.Clear .Filters.Add "エクセルブック", "*.xls*" .InitialFileName = "C:\Users\Guest\test\"
If .Show Then Set fd = .SelectedItems GetFullPath = True End If End With End Function (まっつわん) 2020/01/29(水) 09:46
ファイルを指定するのであれば、下記の記事も参考になると思います。
[名前を指定してブックを開く]
http://officetanaka.net/excel/vba/file/file02.htm
(γ) 2020/01/29(水) 12:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.