[英]VBA - Trying to open all workbooks in a folder
我試圖遍歷並打開名為(BU)的文件夾中的所有文件,該文件夾與宏所在的工作表位於同一目錄中。 我能夠看到myfile正確獲取了第一個文件名,但是當工作簿嘗試打開時,我遇到了運行時錯誤1004。 任何幫助,將不勝感激。
Sub LoopAndOpen()
Dim myfile As String, Sep As String, stringA As String, path1 As String
Sep = Application.PathSeparator
path1 = ActiveWorkbook.Path & Sep & "BU" & Sep
myfile = Dir(path1 & "*.xlsm")
Do While myfile <> ""
Workbooks.Open myfile
myfile = Dir()
Loop
End Sub
編輯:我最終使用了Unicco的程序,它運行良好。
您可以改用此過程。
修改“ ThisWorkbook.Path”和“ .xlsm”以達到所需的目的。 如果要同時打開標准和帶有宏的Excelfile,請使用InStr(objFile,“ .xlsm”)或InStr(objFile,“ .xlsx”)。
Option Explicit
Sub OpenAllFiles()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(ThisWorkbook.Path)
For Each objFile In objFolder.Files
If InStr(objFile, ".xlsm") Then
Workbooks.Open (objFile)
End If
Next
End Sub
Dir()
僅返回文件名,而不返回完整路徑:除非當前目錄碰巧是您要搜索的目錄,否則您需要將完整路徑傳遞給Open()
。 最好永遠不要依賴這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.