我想将Powerpoint幻灯片中的表格转换为HTML。我知道如何放入表格标签,但是无法计算出如何将表格单元格内的格式化文本转换为HTML。因此,例如,如何将“这是具有粗体文本的单元格”转换为“这是具有<b> bold </ b>文本的单元格”?
对于粗体,斜体和彩色文本(最好是字体大小和字体系列),我需要能够做到这一点。我实际上并不想更改Powerpoint表单元格本身,而只是组装一个将保存在json对象中的html字符串。
我知道如何通过设置Word.range并使用Find方法在Word中执行此操作。但是我无法在Powerpoint中复制它。
每个TextRange都有一个Runs集合。如果该范围内的所有文本的格式都相同,则该集合中将只有一个Run。
如果字体/大小/颜色/粗体在中途更改,则“运行次数”集合将增加。
访问集合中的每个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个游程(每个字符的格式都不同于前一个字符)。不加粗,加粗,不加粗
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句