2011-09-08 83 views
2

對不起,我的英語不好,可能是一個簡單的問題。 我想將Table對象複製到Dictionary中以便稍後將其放置在另一個Word文檔中。所有作品都在Excel VBA中。 我嘗試複印表:VBA Word副本表

Dim dict As Dictionary 
Dim table1 As Word.table 
Set table1 = Word.Application.ActiveDocument.Tables.Item(tableNum)            
dict.Add "SampleText","MyText" 
dict.Add "tab1", table1 

它後,我關閉該文件並打開另一個。在這裏面,我嘗試從字典數據插入到書籤:

dim prilDoc As Word.Document 
... 
prilDoc.Bookmarks.Item("SampleText").Range.Text=dict.Item("SampleText")  

這個(插入文本)做工精細,但我不知道,如何把表對象上書籤的地方,因爲我不知道VBA Word對象模型。我嘗試了一些方法,但找不到解決方案。我覺得有兩個問題:

  1. 當我把Table對象放入Dictionary時,其實我只是拷貝了第一個Word文檔中對Table對象的引用。當我關閉這個文檔,並試圖從Dictionary對象中刪除它時,我無法使用它。在Java中,我可以深入克隆對象,但我不知道如何在VBA中執行此操作。可能在這裏一定要用完全的另一種方法。

  2. 我不知道,我該如何正確地在新的Word文檔中插入Table對象。

在此先感謝。

+0

所有文檔片段(包括「Table」)都鏈接到源文檔並且不能被深度複製。 – SLaks

+0

謝謝!然後,我怎樣才能複製一個表到另一個字典?可能我可以將表格複製到剪貼板並將其保存到Dictionary?如果是這樣,請幫助我請怎麼做。提前致謝。 – MikhailSP

+0

您可以將其複製到剪貼板,但也只能通過參考複製。我認爲這是不可能的,除非你立即粘貼每一個。 (您可以嘗試使用剪貼板) – SLaks

回答

0

您是否嘗試複製打開的第一個文檔?在複製內容之前不要關閉它。