将图片从内容控件复制到不同的内容控件

时间:2017-04-10 13:49:43

标签: vba ms-word word-vba

我有一个允许用户打开Doc1并填充Doc2内容控件的进程。这适用于纯文本,但我遇到了富文本,更重要的是富文本内容控件内的图片。

不出所料,以下内容除了文字外没有设置任何内容:

ThisDocument.SelectContentControlsByTitle("ct2").Item(1).Range.Text = ThisDocument.SelectContentControlsByTitle("ct1").Item(1).Range.Text

我也尝试过:

ThisDocument.SelectContentControlsByTitle("ct1").Item(1).Range.Copy
ThisDocument.SelectContentControlsByTitle("ct2").Item(1).Range.Paste

虽然这似乎有效,但它不仅仅是复制文本和图片,还包括内容控件。所以我最终得到了ct2里面的ct1。

1 个答案:

答案 0 :(得分:1)

我通过简单的测试就可以使用它。基本上,选择您的复制位置并将其删除。这会将光标准确地保持在您离开的位置。然后将其粘贴。此代码假定您要替换的图片位于初始图片之后。 I.E.您复制的图片在文档中的位置早于copy to位置。

Public Sub MoveCCPic()

    ThisDocument.SelectContentControlsByTitle("ct1").Item(1).Range.Copy
    ThisDocument.SelectContentControlsByTitle("ct2").Item(1).Range.Select

    ThisDocument.SelectContentControlsByTitle("ct2").Item(1).Delete
    Selection.Paste

    ThisDocument.SelectContentControlsByTitle("ct1").Item(2).Title = "ct2"

End Sub

如果图片框之间没有任何文字,您可能会遇到一些额外的代码。