So konvertieren Sie formatierten Text in einer Powerpoint-Tabellenzelle in HTML

So konvertieren Sie formatierten Text in einer Powerpoint-Tabellenzelle in HTML

Ich möchte eine Tabelle in einer Powerpoint-Folie in HTML konvertieren. Ich weiß, wie man die Tabellen-Tags einfügt, kann aber nicht herausfinden, wie man formatierten Text in den Tabellenzellen in HTML konvertiert. Wie kann ich beispielsweise „Dies ist eine Zelle mitdeutlichText“ in „Dies ist eine Zelle mit <b>fettem</b> Text“?

Ich muss dies für fetten, kursiven und farbigen Text tun können (und idealerweise auch für Schriftgröße und Schriftfamilie). Ich möchte die Powerpoint-Tabellenzelle selbst nicht ändern, sondern einfach einen HTML-String zusammenstellen, den ich in einemjsonObjekt.

Ich weiß, wie man das in Word macht, indem manWortbereichund mithilfe derFindenMethode. Aber ich konnte dies nicht in Powerpoint reproduzieren.

Antwort1

Jeder Textbereich verfügt über eine Runs-Sammlung. Wenn der gesamte Text im Bereich identisch formatiert ist, gibt es nur einen Run in der Sammlung.

Wenn sich Schriftart/Größe/Farbe/Fettdruck während des Streams ändern, wird die Runs-Sammlung erhöht.

Wenn Sie auf jeden Run in der Sammlung zugreifen, erhalten Sie einen TextRange, dessen Schrifteigenschaften Sie untersuchen können. Nehmen wir zum Beispiel an, Sie haben Text wie diesen (alles in einer Form)

Dieser Text ist komplett gleich formatiert. Dieser Text enthält ein bisschenfettText.

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

Absatz: 1 Lauf: 1 0 Absatz: 2 Lauf: 1 0 Lauf: 2 -1 Lauf: 3 0

Der erste Absatz hat nur 1 Durchlauf, weil der gesamte Text gleich formatiert ist. 0 = NICHT fett.

Der zweite Absatz hat 3 Durchläufe (einen für jedes Zeichen, das anders formatiert ist als das vorherige Zeichen). Nicht fett, Fett, Nicht fett

verwandte Informationen