从VBA打开的WORD文档中复制两个关键字间的内容(包含格式),并粘贴到当前WORD文档中 5

比如文档B中有如下内容:规定给“更的非官方的”孤独感风结束需要复制“规定”与“结束”之间的所有内容(带格式),并将其粘贴到文档A的表格的第一个单元格cell(1,1)中,... 比如文档B中有如下内容:规定给“更的非官方的”孤独感风结束需要复制“规定”与“结束”之间的所有内容(带格式),并将其粘贴到文档A的表格的第一个单元格cell(1,1)中,最后保存关闭文档B请注意:是要求从VBA中打开的文档B复制,在当前文档A中粘贴,而不是A中复制,B中粘贴 Sub DoThis() Selection.Find.ClearFormatting With Selection.Find .Text = "规定" .Wrap = wdFindContinue End With Selection.Find.Execute a = Selection.End Selection.Find.ClearFormatting With Selection.Find .Text = "结束" .Wrap = wdFindContinue End With Selection.Find.Execute b = Selection.Start Selection.Start = a + 1 Selection.End = b Selection.CopyEnd Sub这个代码只能在当前文档中进行复制、粘贴,不能达到要求
草原上之狼:我用你的第二个代码,但是执行不了
我自己的代码执行到 Selection.Copy 时出错,级别不够,上传不了代码,我截图出来吧

文档A初始状态:

文档B:
展开
 我来答
草原上之狼
高粉答主

2018-06-20 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4097万
展开全部
'打开后焦点发生了转移,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

提交
取消

辅 助

模 式