簡體   English   中英

VBA-嘗試打開文件夾中的所有工作簿

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM