1
下面的vba打開一個excel工作簿,檢查它是否處於只讀模式,如果它正在等待,直到讀/寫處於活動狀態,然後運行代碼。簡單VBA ACCESS - Loop Excel工作簿
我的問題是,我有很多的Excel文件,例如C:\ TEST \ TEST.xlsb,C:\ TEST \ TEST2.xlsb,C:\ TEST \ TEST3.xlsb,C:\ TEST \ TEST4 .xlsb等
我如何獲得VBA通過每個工作簿名稱
救救我運行代碼的時間複製/粘貼代碼多次爲每個工作簿的名稱。
Function test()
Dim xl As Object
Set xl = CreateObject("Excel.Application")
xl.Workbooks.Open ("C:\TEST\Test.xlsb")
Do Until xl.ActiveWorkbook.ReadOnly = False
MsgBox ("Workbook in use, waiting till read/write is active")
Call Pause(5)
xl.Quit
xl.Workbooks.Open ("C:\TEST\Test.xlsb")
If xl.ActiveWorkbook.ReadOnly = False Then Exit Do
Loop
If xl.ActiveWorkbook.ReadOnly = False Then
MsgBox ("read/write active")
'Run code
xl.Sheets("Sheet1").Range("G2").Value = 2222
xl.ActiveWorkbook.Save
xl.Quit
End If
xl.Quit
Set xl = Nothing
End Function
不幸的是 – Elixir
你需要找到的,你可以通過代碼生成命名的模式工作簿名稱不測試,Test2的等等這些都是例子..。或者如果名稱更改,則可以將所有工作簿放在一個文件夾中並循環訪問該文件夾的文件。如果名稱發生更改並且文件夾不同並且沒有任何常量,那麼代碼將不會對您有所幫助,並且您需要手動執行此操作。 – pony2deer
一個文件夾中的所有文件,只有變化的是文件名。非常感謝 – Elixir