复制形状Type = msoTextBox,然后粘贴

时间:2019-02-07 20:58:47

标签: vba ms-word

我正在尝试使用VBA和Word将文本框形状转换为图像。我找不到如何使用VBA进行此操作,并且在尝试记录宏时无法选择文本框。我用来查找文本框的代码是对形状集合的反向搜索,该过滤器仅选择文本框,然后返回形状索引号。我最初的想法是简单地剪切形状并粘贴回图像中

最欢迎任何建议

1 个答案:

答案 0 :(得分:0)

当我尝试手动执行并记录宏时,无法选择形状。这是我从未遇到过的行为。使用以下代码,我能够复制所需的形状。但是,对于类型= msoTextBox,结果图像的长宽比已更改,并且文本被截断。各小组工作良好。 [VBA]     子ShapeCopy()

Dim i As Integer, Shp As Shape

' Select last to first to retain shape numbering
' when shapes are deleted
For i = ActiveDocument.Shapes.Count To 1 Step -1
  Set Shp = ActiveDocument.Shapes(i)
  Shp.Select
  If Shp.Type = msoTextBox _
  Or Left(Shp.Name, 5) = "Group" Then

    Selection.Cut
    Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
    Placement:=wdInLine, DisplayAsIcon:=False
  End If
Next i

End Sub

[/ VBA]