如何在powerpoint幻灯片中格式化文本框

时间:2014-05-20 13:52:21

标签: c# powerpoint

如何设置文本框格式?因为现在它使用的是最后一种格式(没有粗体和大小20),但我需要有不同格式的标题(粗体和大小30)。我发现我可以使用richtextbox执行此操作,但我不知道如何在幻灯片中添加richtextbox。

PowerPoint.Shape textBox = activeSlide.Shapes.AddTextbox( Office.MsoTextOrientation.msoTextOrientationHorizontal, 50, 50, 600, 500);
textBox.TextFrame.TextRange.Font.Bold = MsoTriState.msoTrue;
textBox.TextFrame.TextRange.Font.Size = 30;
textBox.TextFrame.TextRange.InsertAfter("This is Title with font size 30 and bold.");
textBox.TextFrame.TextRange.Font.Bold = MsoTriState.msoFalse;
textBox.TextFrame.TextRange.Font.Size = 20;
textBox.TextFrame.TextRange.InsertAfter("This is normal text with font size 20 and no bold.");

2 个答案:

答案 0 :(得分:1)

查看此链接。它告诉你如何。
http://msdn.microsoft.com/en-us/library/jj159403(v=office.14).aspx

修改 所以你问了如何添加一个richtextbox:

Dim rtfBox As RichTextBox = New RichTextBox
rtfBox.Paste()

然后您可以将rtfBox编辑为您希望的格式。就那么简单。或者您可以制作模板并使用Apply Template方法。

以下是一些可能对您有所帮助的其他链接。他们提到编辑幻灯片并更改字体:

PowerPoint C# Examples

Accessing Slide StackFlow Question

SunFine Data

答案 1 :(得分:1)

以下是您如何在VBA中执行此操作的示例。您可以使用不同文本字符串和.Characters的长度来返回您格式化的文本范围,但是您喜欢不影响其他文本。

Dim oSh As Shape
Dim sBoldText As String
Dim sNotBoldText As String

sBoldText = "This is the title, 30 and bold."
sNotBoldText = " This is the other text, 20 and not bold."

Set oSh = ActivePresentation.Slides(1).Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 500, 100)
oSh.TextFrame.TextRange.Text = sBoldText & sNotBoldText

With oSh.TextFrame.TextRange.Characters(1, Len(sBoldText))
    .Font.Bold = True
    .Font.Size = 30
End With
With oSh.TextFrame.TextRange.Characters(Len(sBoldText) + 1)
    .Font.Bold = False
    .Font.Size = 20
End With