由于我发布了这个问题后我手头的问题略有进展,我发现有必要将其拆分为两部分以保持清晰。
dir()
?有一些关于如何使用 pptx库 here编辑PowerPoint幻灯片的示例。但是,我发现使用 win32com.client 操作活动PowerPoint演示文稿要比here更容易。使用Microsoft Developer Network中的示例我发现我可以轻松复制此VBA片段功能的部分 ...
With ActivePresentation.Slides(1).Shapes(1)
With .TextFrame.TextRange.Font
.Size = 48
.Name = "Palatino"
.Bold = True
.Color.RGB = RGB(255, 127, 255)
End With
End With
...使用此Python代码段:
import win32com.client
Application = win32com.client.Dispatch("PowerPoint.Application")
Presentation = Application.Activepresentation
slidenr = Presentation.Slides.Count
slide = Presentation.slides(slidenr)
shape1 = slide.Shapes.AddTextbox(Orientation=0x1,Left=100,Top=100,Width=100,Height=100)
shape1.TextFrame.TextRange.Text='Hello, world'
#Manipulate font size, name and boldness
shape1.TextFrame.TextRange.Font.Size=20
shape1.TextFrame.TextRange.Characters(1, 4).Font.Name = "Times New Roman"
shape1.TextFrame.TextRange.Font.Bold=True
在这里,我可以操作字体大小和名称。我也可以通过更改来更改文本框的方向
Orientation=0x1
中的Orientation=0x5
到shape1 = slide.Shapes.AddTextbox(Orientation=0x1,Left=100,Top=100,Width=100,Height=100)
。
但似乎不可能的是编辑框或字体颜色。
这不起作用:
shape1.TextFrame.TextRange.Font.Color.RGB = RGB(255, 127, 255)
错误讯息:
我非常希望通过导入pypi.python.org
上的信息导入一些RGB功能来解决这个问题但我在pip install colour
:
到目前为止,我对所有帐户都有点失落,因此任何操纵颜色的方法都会很棒!
dir()
在我尝试管理这些讨厌的颜色时,我开始检查dir(shape1.TextFrame)
,dir(shape1.TextFrame.Textrange)
的输出,依此类推。
令我失望的是,我找不到任何关于颜色的内容,甚至没有找到Font,尽管Font很容易被操作。
所以我的第二个问题是:这不是检查和操纵这些形状的方法吗?我怎样才能找到正确的对象(或方法?)来进一步操纵shape1?我看过PowerPoint objectmodel,但收效甚微。
感谢您的任何建议!