2017-07-19 201 views
0

我无法粘贴我的全部代码,但问题的关键是我在PPT 2013,myTb中有一个文本框,我已经(编程方式)将一些文本粘贴到。我现在要执行以下两个动作:将PPT字体设置为“正文”类型

  1. 看看原文是PPT的身体默认的“字体(如:“宋体(正文)”与“宋体”在MS丝带)
  2. 如果它是主体默认值,则将新文本设置为主体默认值。

我似乎无法弄清楚任一部分了,即使我已经与阅读实验/自/至大部分Shape.TextFrame [N] .TextRange.Font.Name ...领域的写作。我也有两个混杂点询问,关于Shape.TextFrame.TextRange.Font.NameComplexScript领域:

  1. 此领域似乎并不为身体默认VS非的“完整”指标身体默认字体。原因是如果这个文本框最初是body-default('Calibri(body)'),它会读取'+ mn-cs',但是我可以将字体更改为非默认变体('Calibri') ,它仍然是'+ mn-cs'。
  2. 然后,我继续将文本框更改为完全不同的字体,并按预期将此字段更改为字体名称。但是,如果我然后更改为主体默认字体(或任何其他字体,就此而言),则此字段将保留在以前的字体名称上。

回答

0

要设置字体为身体或标题的字体,你需要使用语法的一个奇怪的一点:

{}对象= .Font.Name “+” + FontType + “ - ” + FontLang

其中:

FontType分别是 “MJ” 或 “百万” 为主要(标题)或未成年人(身体)。

FontLang是“长线”,“CS”或“EA”为拉丁语,复杂的脚本或东亚

例如设置字体为拉丁文字为主题的正文字体:

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Font.Name = "+mn-lt" 
+0

这个Font.Name字符串如何确定'Calibri'和'Calibri(body)'之间的区别?如上所述,这两种字体类型在该字符串中显示为'mn',即使它们明显不同于另一种。 – user3617389

+0

我想我们需要看到更详细的描述,说明您如何在原始帖子中进行所描述的更改。通过代码或手动和任何方式,究竟如何? –