VBA将一个word表格中的内容复制到另外一个word的表格中

报告改版,需要将之前的报告都改成新模板。其中都是表格,我想将已有报告中表格的内容通过VBA复制到新报告模板中,下面是代码的例子,SubMacro1()DimwdAppAs... 报告改版, 需要将之前的报告都改成新模板。其中都是表格,我想将已有报告中表格的内容通过VBA复制到新报告模板中,下面是代码的例子,
Sub Macro1()
Dim wdApp As Word.Application
On Error Resume Next
Set myDoc = wdApp.Documents.Open("G:\12RF057-RD365.doc")
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
但是运行之后,达不到我想要的效果,请各位指点一下。谢谢!
展开
 我来答
diuy559
2012-09-08 · TA获得超过2160个赞
知道小有建树答主
回答量:1016
采纳率:0%
帮助的人:771万
展开全部
'打开后焦点发生了转移,activedocument已经指向刚打开的文件了
'改为
Sub Macro1()
Dim myDoc
'On Error Resume Next
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
Set myDoc = Word.Application.Documents.Open("E:\1.docx")
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
'(
InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)这行代码中,你确定表2存在吗?我测试时只建一个表,所以改为Tables(1).



'也可以这样控制焦点
Sub Macro1()
Dim myDoc
'On Error Resume Next
Set myDoc = Word.Application.Documents.Open("E:\1.docx", , , , , , , , , , , vbHide)
With ActiveDocument.Tables(1).Cell(Row:=1, Column:=3).Range
.Delete
.InsertAfter Text:=myDoc.Tables(2).Cell(Row:=1, Column:=2)
End With
End Sub
'至于为什么多出一个换行符我还没想明白
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式