0
我有一個嵌入有Word文件的Excel電子表格作爲對象。 當我將該對象作爲模板打開並將其保存到文檔文件中時,Word標題中的名稱不會更改 並且Excel中的對象會受到影響。 像這樣:EXCEL,使用嵌入對象(.dot)作爲報告模板
For Each OLE In ActiveSheet.OLEObjects
If InStr(1, OLE.progID, "Word.Document", vbTextCompare) > 0 Then
OLE.Verb xlVerbPrimary
Set WordDoc = OLE.Object
WordDoc.SaveAs2 "c:\somewhere\a.doc", FileFormat:=WdSaveFormat.wdFormatDocument97
Exit For
End If
Next
我預計「另存爲」的稱號在Word中更改後爲「a.doc」,但名稱仍 「在somesheet.xls文件」,並在Excel中嵌入對象隨着WordDoc的進一步操作而改變。
是否可以使用嵌入式Word文件作爲模板而不創建必須重新打開的中間文件?
我可以打斷對象和打開的Word文件之間的連接嗎?
編輯:我正在創建一個報告使用該對象作爲模板。現在,SaveAs不僅會創建一個文件,還會影響模板。
目前尚不清楚你在做什麼。如果使用SaveAs,則要在驅動器上的該位置創建一個文件(副本),並且需要在單獨的Word實例中打開它。嵌入的對象保持不變。該副本應該發生什麼?如果您想將它保留在Excel工作簿中,請複製OLE對象,然後對其進行處理。 (但是,您不能更改文件名稱「Workbook.xls中的文檔」。) –
「SaveAs」方法之後,在Word實例中打開的文檔不是副本。打開的文檔已連接並保持與Excel中的對象連接。文檔的所有更改也影響對象(模板)。 我想破解文檔和excel對象之間的連接。 – hennep
正如我所說的,如果你想使用作爲OLE對象存儲的文檔的「副本」,則需要實例化Word的一個實例並打開在該實例中保存的文件。您不能「斷開與OLE對象的連接」以使其獨立。 –