以编程方式将字体格式应用于PowerPoint文本

时间:2009-06-08 15:40:15

标签: vba vbscript powerpoint powerpoint-vba

我正在尝试使用VBA将一些文本插入到PowerPoint TextRange中,我使用这样的内容:

ActiveWindow.Selection.SlideRange.Shapes("rec1").TextFrame.TextRange.Text = "Hi"

但是,我无法弄清楚如何以编程方式应用粗体,斜体和下划线(我没有看到.RichText属性或类似的东西)。

我所拥有的是一些简单的HTML文字,其中包含我希望转换的粗体,斜体和带下划线的文字。

怎么做?

4 个答案:

答案 0 :(得分:8)

使用TextRange的{​​{1}},CharactersWordsSentencesRuns对象可轻松完成此操作Paragraphs对象设置Bold,Underline和Italic(以及其他属性)。例如:

Font

答案 1 :(得分:4)

尝试查看MSDN's documentation上的TextRange object。它包含如何访问TextRange对象的Font属性的示例。

编辑:您可以通过以下方式以编程方式访问Bold和Italics等内容:

TextRange.Font.Bold = msoTrue

编辑编辑:有几种方法可以只选择文本范围内的某些文本。请参阅以下内容:

根据this link中的相同内容,您可以使用这些方法之一选择文本的一部分,并以编程方式设置字体。例如:

Application.ActiveDocument.Pages(1).Shapes(2) _
.TextFrame.TextRange.Words(Start:=2, Length:=3) _
.Font.Bold = True

该例子来自Words Method链接。

答案 2 :(得分:3)

除了上面的答案之外,你应该尝试命名你将要改变的对象,因为在演示文稿中选择它们可能会使PowerPoint表现得很奇怪。创建一个新的TextRange对象并将其设置为这样。

dim mytextrange As TextRange
Set mytextrange = ActiveDocument.Pages(1).Shapes(2).TextFrame.TextRange
mytextrange.Words...

答案 3 :(得分:0)

您可以通过以下方法更改特定文本的字体:

CloudStorageAccount storageAccount = CreateStorageAccountFromConnectionString(storageConnectionString);

CloudTableClient tableClient = storageAccount.CreateCloudTableClient(new TableClientConfiguration());

CloudTable table = tableClient.GetTableReference("order_details");
if (await table.CreateIfNotExistsAsync())
{
  Console.WriteLine("Created Table named: order_details");
}
else
{
  Console.WriteLine("Table order_details already exists");
}