我正在環視Excel嵌入Excel工作簿並對嵌入數據進行讀取/寫入操作。使用Excel數據粘貼專用似乎嵌入整個工作簿,而不僅僅是選定/複製的數據。如何在嵌入OLE的Excel對象中獲取ActiveSheet
我能夠獲得對Visio頁面上嵌入的Excel工作簿對象的引用,但我無法分辨哪些工作表處於活動狀態並在Visio中顯示。看來,我只能告訴正在編輯表格的活動表單。當它在頁面上時,Workbook對象爲ActiveSheet返回Nothing,並且工作簿沒有Windows。這是有道理的,它沒有窗戶,但沒有太多的意義,沒有積極的工作表。
有沒有辦法找出Excel OLE對象中的「活動」工作表?或者我應該寫的任何代碼都是在假設所有內容都在表1中的情況下工作的?我可能會以編程的方式添加任何嵌入式工作簿,因此將每本書限制在一張紙上不會太大,但我只是想確保沒有一些屬性可以忽略,這會告訴我我想要什麼。
此代碼將在網頁上找到一個Excel OLE對象,並設置單元格A1和B1在工作簿中的表1:
Dim CheckShp As Visio.Shape
Dim CheckObj As OLEObject
For Each CheckObj In ActivePage.OLEObjects
If CheckObj.ProgID Like "Excel.Sheet.*" Then
Dim Sheet As Excel.Worksheet
Dim Bk As Excel.Workbook
Set Bk = CheckObj.Object
Set Sheet = Bk.Worksheets(1)
Sheet.Cells(1, 1) = "HELLO"
Sheet.Cells(1, 2) = "WORLD"
End If
Next CheckObj
,你可以得到不'Activating'或'Editing'嵌入OLE對象反正工作簿對象的引用? –
到目前爲止你有什麼代碼? – BruceWayne
我可以很容易地獲得對工作簿的引用,但我想要獲取對不編輯OLE對象時顯示的工作表的引用。沒有什麼明顯的,我可以看到(ActiveSheet是沒有工作簿對象,除非OLE對象正在編輯)。 –