Powerpoint 표 셀의 서식 있는 텍스트를 HTML로 변환하는 방법

Powerpoint 표 셀의 서식 있는 텍스트를 HTML로 변환하는 방법

Powerpoint 슬라이드의 표를 HTML로 변환하고 싶습니다. 표 태그를 넣는 방법을 알고 있지만 표 셀 내부의 서식 있는 텍스트를 HTML로 변환하는 방법을 알아낼 수 없습니다. 예를 들어, "이것은 다음과 같은 셀입니다."로 변환하려면 어떻게 해야 합니까?용감한text"를 "<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번의 실행이 있습니다(이전 문자와 형식이 다른 각 문자에 대해 하나씩). 굵게 하지 않음, 굵게 표시, 굵게 표시하지 않음

관련 정보