我正在尝试使用VBA在PowerPoint中的幻灯片顶部创建一个文本框(关于这句话的太多让我很难过)。我在网上看到的许多示例似乎都没有使用“选项显式”宏实践,因为我在示例中看到的某些变量未声明或未明确键入。
无论如何,在这一点上,我只需要生成一个文本框,理想情况下,为此文本框获取某种名称,以便我可以对其进行处理,然后修改此文本框的参数,例如字体大小。最终,我将使用它作为模板,以便用户可以输入字符串值并创建自己的工作表。
目前,我正在使用它。myDocument是幻灯片,title是我已经分配的字符串。这绝对是我所需要的,但是我无法更改其他任何内容,例如字体大小。
myDocument.Shapes.AddTextbox(msoTextOrientationHorizontal,左:= 0,上:= 10,宽度:= 200,高度:= 50).TextFrame.TextRange.Text = title
如果我想将.Font.Size = 18添加到属性中,我似乎找不到找到可行的方法。
我看过一些示例,它们使用with-end语句并设置单个属性,但是当我尝试创建形状然后修改单个属性时,会出现错误(可能是因为形状没有字体)属性)。这是我一直试图用作指导的页面,但并没有太大帮助
http://www.ozgrid.com/forum/showthread.php?t=18611
我对如何使用文本框对象,如何跟踪它们或为其指定名称等几乎一无所知。对我来说,这是全新的领域。任何帮助将不胜感激
这将有助于了解PowerPoint中对象的层次结构。一旦理解了这一点,在对象模型中处理事情的大多数方法就会变得更加有意义。
该应用程序本身包含一个Presentation集合,每个打开的演示文稿都是一个Presentation集合。
ActivePresentation是当前处于活动状态的任何演示…即具有焦点,接收鼠标单击/击键。
演示文稿包含幻灯片幻灯片包含Shapes大多数(尽管不是全部)形状可以具有TextFrame TextFrame包含TextRange和TextRange包含文本(并且您也将格式设置应用于文本范围)
所以:
Option Explicit
' but of course!
Sub MakeATitle()
Dim oSh As Shape
Dim myDocument As Presentation
Dim oSl As Slide
Dim sTitle As String
' I wouldn't use Title as a variable; it may be a reserved word
sTitle = "Here is your title"
Set myDocument = ActivePresentation
' I'm putting the title on slide 1
' Change this as needed, of course
Set oSl = myDocument.Slides(1)
Set oSh = oSl.Shapes.AddTextbox(msoTextOrientationHorizontal, _
Left:=0, Top:=10, Width:=200, Height:=50)
With oSh.TextFrame.TextRange
.Text = sTitle
With .Font
.Size = 24 ' points
.Name = "Arial"
End With ' Font
End With ' TextRange
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句