将艺术字转换为文本 (MS OFFICE WORD)

将艺术字转换为文本 (MS OFFICE WORD)

有没有办法将 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

这基本上遍历所有文本框,获取它们的文本,将其插入文档中,然后删除文本框。

相关内容