2017-07-19 202 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

我想我們需要看到更詳細的描述,說明您如何在原始帖子中進行所描述的更改。通過代碼或手動和任何方式,究竟如何? –