0
我想獲取當前打開的所有工作簿的名稱。我目前有如何在不同的實例中顯示excel中的所有工作簿?
Dim wb1 As Workbook
Set wb1 = ThisWorkbook 'wb where macro is
wb1_name = wb1.Name
For Each WB In Application.Workbooks
wb2_name = WB.Name
If wb2_name <> wb1_name Then
WB.Activate
Range("H1").Value = "hello"
End If
Next WB
End Sub
它無法拾取循環中打開的其他工作簿。它只循環一次,這是將當前工作簿與自己進行比較,從而無所作爲。這可能是因爲我有一些代碼從軟件中檢索數據,下載並打開該excel文件。我懷疑這個文件是Excel下載並打開的另一個實例,因爲我在屏幕上清楚地看到它。
你難以理解工作表與工作簿? – jsotola
不同的實例不會彼此交談,至少不是「正常」的方式(不管怎樣,凡是凡人都可以訪問的方式)。 'Application'指的是當前正在運行你的代碼的實例。這兩個實例有過程邊界交叉以便相互「交談」。你在這裏問的不是一件小事。或者,下載的工作簿只是在「保護模式」下以相同的實例打開? –
什麼版本的Excel? –