如何將 Powerpoint 表格儲存格中的格式化文字轉換為 HTML

如何將 Powerpoint 表格儲存格中的格式化文字轉換為 HTML

我想將 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 次運行(每個字元運行一次,格式與前一個字元不同)。不加粗,加粗,不加粗

相關內容