主要观点总结
本文介绍了如何在Word文档中插入倒置或旋转的文本。通过使用VBA代码,在PowerPoint中创建文本框,输入并格式化文本,然后将其复制并作为图片插入Word文档。
关键观点总结
关键观点1: 使用VBA代码实现文本倒置或旋转
文章详细解释了如何使用VBA代码在PowerPoint中创建文本框,输入并格式化文本,然后通过复制粘贴的方式将文本框作为图片插入到Word文档中。同时提供了代码示例,包括文本倒置(垂直翻转)和旋转的功能。
关键观点2: 涉及PowerPoint和Word的整合应用
文章展示了如何利用PowerPoint和Word的整合应用,通过VBA代码实现两个软件之间的交互,从而完成一些特殊文本处理的需求。
关键观点3: 文章来源于wordmvp.com,欢迎留言和交流
文章整理自wordmvp.com,提供了代码的参考来源。同时鼓励读者在文章下方留言,完善文章内容,并欢迎加入完美Excel社群进行技术交流和提问。
正文
下面的代码允许在Word文档中插入一个倒置或旋转的文本。在PowerPoint中创建一个文本框,在其中输入文本并格式化、翻转或者旋转,然后复制该文本框并作为一个图片将其插入到Word文档中。首先,在VBE中单击“工具——引用”,在“引用”对话框中,选取“Microsoft
PowerPoint 16.0 Object Library”前的复选框。Sub InsertUpsideDownText()
Dim oDoc As Document
Dim MyRange As Range
Dim oPPT As PowerPoint.Application
Dim PPTWasNotRunning As Boolean
Dim oPres As PowerPoint.Presentation
Dim oSlide As PowerPoint.Slide
Dim oShape As PowerPoint.Shape
Set oDoc = ActiveDocument
System.Cursor = wdCursorWait
StatusBar = "启动PowerPoint......"
'如果PPT在运行, 进行处理; 否则启动新实例
On Error Resume Next
Set oPPT = GetObject(, "PowerPoint.Application")
If Err Then
PPTWasNotRunning = True
Set oPPT = New PowerPoint.Application
End If
On Error GoTo Err_Handler
With oPPT
'创新新演示文稿和新幻灯片
Set oPres = .Presentations.Add(WithWindow:=msoTrue)
Set oSlide = oPres.Slides.Add(1, ppLayoutBlank)
'创建一个文本框并设置其属性
Set oShape = oSlide.Shapes.AddTextbox _
(msoTextOrientationHorizontal, 100, 100, 10, 10)
With oShape.TextFrame
.WordWrap = msoFalse
.MarginLeft = 0#
.MarginRight = 0#
.MarginTop = 0#
.MarginBottom = 0#
'在其中输入文本
With .TextRange
.Text = Chr$(147) & "完美Excel," & Chr$(148) & _
"一个内容丰富的Excel与VBA资源网站, " _
& vbCr & Chr$(147) & "完美Excel," & Chr$(148) & _
"一个内容丰富的Excel与VBA资源网站, " _
& vbCr & Chr$(147) & "完美Excel,持续改善公众号资源. " _
& Chr$(150) & vbCr & Chr$(147) & "但还需要仔细梳理并丰富资源!" _
& Chr$(148)
'格式化文本
.Font.Name = "Times New Roman"
.Font.Size = 12
.Paragraphs(3).Words(5).Font.Italic = msoTrue
.Paragraphs(4).Words(4).Font.Italic = msoTrue
End With
'倒置的文本,垂直翻转
oShape.Flip msoFlipVertical
'或者, 如果想旋转文本,使用以下代码
'oShape.Rotation = -45
End With
'复制文本框
oShape.Copy
End With
'返回Word
Set MyRange = oDoc.Windows(1).Selection.Range
MyRange.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile
oDoc.Shapes(oDoc.Shapes.Count).ConvertToInlineShape
'关闭演示文稿
oPres.Close
If PPTWasNotRunning Then
oPPT.Quit
End If
'释放
Set oPPT = Nothing
Set oDoc = Nothing
System.Cursor = wdCursorNormal
StatusBar = ""
'如果错误则退出
Exit Sub
Err_Handler:
MsgBox Err.Description, vbCritical, "错误: " & Err.Number
If PPTWasNotRunning Then
oPPT.Quit
End If
System.Cursor = wdCursorNormal
StatusBar = ""
End Sub
注:本文代码整理自wordmvp.com,供参考。欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。