2017-05-31 97 views
0

我發現此腳本循環瀏覽文件夾中的工作簿。在多個工作簿/文件上運行Excel宏

Sub OpenFilesVBA() 
    Dim Wb As Workbook 
    Dim strFolder As String 
    Dim strFil As String 

    strFolder = "c:\Temp" 
    strFil = Dir(strFolder & "\*.xls*") 
    Do While strFil <> vbNullString 
     Set Wb = Workbooks.Open(strFolder & "\" & strFil) 
     Wb.Close False 
     strFil = Dir 
    Loop 
End Sub 

我將我的宏存儲到PERSONAL.XLSB,這被稱爲「導入」。我的文件是Microsoft Excel csv文件,它將保存爲xlsx的代碼。

我的問題是如何修改上述代碼來通過所有文件運行我的宏?在哪裏包括我的宏?

非常感謝

+0

變化'strFil = DIR(strFolder&「\ * .xls *「)''strFil = Dir(strFolder&」\ *。csv *「)' – Jordan

+0

我應該在哪裏放置宏? – user2017716

回答

2

如果你想要做的東西你打開你的代碼將需要Workbooks.Open功能後去工作簿:

Sub OpenFilesVBA() 

Dim Wb As Workbook 
Dim strFolder As String 
Dim strFil As String 

strFolder = "c:\Temp" 
strFil = Dir(strFolder & "\*.csv*") 
Do While strFil <> vbNullString 
    Set Wb = Workbooks.Open(strFolder & "\" & strFil) 

    'Add your code here 

    Wb.Close False 
    strFil = Dir 
Loop 

End Sub 
+0

我是否需要添加整個代碼或者有沒有辦法提供宏名稱或某種鏈接? – user2017716

+0

只需使用宏的名稱,例如如果你的sub被稱爲'import',只需要用你需要的參數添加'import'即可。 – Jordan

相關問題