2011-09-08 65 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

您是否尝试复制打开的第一个文档?在复制内容之前不要关闭它。