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
但是运行之后,达不到我想要的效果,请各位指点一下。谢谢! 展开
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
但是运行之后,达不到我想要的效果,请各位指点一下。谢谢! 展开
展开全部
'打开后焦点发生了转移,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
'至于为什么多出一个换行符我还没想明白
'改为
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
'至于为什么多出一个换行符我还没想明白
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询