我想將 Powerpoint 投影片中的表格轉換為 HTML。我知道如何放入表格標籤,但不知道如何將表格單元格內的格式化文字轉換為 HTML。因此,例如,我如何轉換“這是一個帶有大膽的文字」到「這是一個有<b>粗體</b>文字的儲存格」?
我需要能夠對粗體、斜體和彩色文字(以及理想情況下的字體大小和字體系列)執行此操作。我實際上不想更改 Powerpoint 表格單元本身,而只是組裝一個 html 字串,並將其保存在json目的。
我知道如何在 Word 中透過設定字範圍並使用尋找方法。但我無法在 Powerpoint 中複製這一點。
答案1
每個 TextRange 都有一個 Runs 集合。如果該範圍內的所有文字都具有相同的格式,則集合中將只有一個 Run。
如果字體/大小/顏色/粗體在中途發生變化,則 Runs 集合將增加。
存取集合中的每個 Run 都會為您提供一個 TextRange,您可以檢查其字體屬性。例如,假設您有這樣的文字(全部為一種形狀)
該文本的格式均相同。這段文字包含了一些加粗的文字.
Sub thing()
Dim oSh As Shape
Dim oRng As TextRange
Dim x As Long
Dim y As Long
' Assume that the shape with your text is selected
Set oSh = ActiveWindow.Selection.ShapeRange(1)
' You can look at the text in the shape as a whole,
' or paragraph by paragraph or line by line or character by character.
' Let's do it para by para
With oSh.TextFrame.TextRange
For x = 1 To .Paragraphs.Count
With .Paragraphs(x)
Debug.Print "Paragraph: " & x
For y = 1 To .Runs.Count
Debug.Print vbTab & "Run: " & y
Debug.Print .Runs(y).Font.Bold
Next
End With
Next
End With
End Sub
段落:1 運行:1 0 段落:2 運行:1 0 運行:2 -1 運行:3 0
第一段只運行 1 次,因為所有文字的格式都相同。 0 = 不加粗。
第二段有 3 次運行(每個字元運行一次,格式與前一個字元不同)。不加粗,加粗,不加粗