有没有办法将 Microsoft Office 中的艺术字转换为文本,就像将文本转换为艺术字一样?
答案1
将文本转换为艺术字实际上是将当前文本插入到带有一些奇特样式的浮动文本框中。但是,逆向转换并不明确,因为浮动块中的文本将丢失浮动块的绝对定位信息 - 例如,文本停靠在指定段落下方 100 像素处,因此它显示为下一个段落的一部分(实际上浮动在下一个段落流的中间)。
但是,您可以运行一个宏,将所有这些块转换为文本,看看结果是否适合您,例如删除文档中的所有文本框文章:
Sub RemoveTextBox2()
Dim shp As Shape
Dim oRngAnchor As Range
Dim sString As String
For Each shp In ActiveDocument.Shapes
If shp.Type = msoTextBox Then
' copy text to string, without last paragraph mark
sString = Left(shp.TextFrame.TextRange.Text, _
shp.TextFrame.TextRange.Characters.Count - 1)
If Len(sString) > 0 Then
' set the range to insert the text
Set oRngAnchor = shp.Anchor.Paragraphs(1).Range
' insert the textbox text before the range object
oRngAnchor.InsertBefore _
"Textbox start << " & sString & " >> Textbox end"
End If
shp.delete
End If
Next shp
End Sub
这基本上遍历所有文本框,获取它们的文本,将其插入文档中,然后删除文本框。