我正在尝试阅读PowerPoint幻灯片。但是当我的程序遇到类似
“ Vo =ΣCF /(1 + t)”,shape.TextFrame.TextRange.Paragraphs(paraindex,1).Text属性无法正确读取它(特别是Σ符号和下标0(零)带有V)。因此最终结果是文本乱码。
[编辑]:我发现ppt的创建者已使用Insert-> powerpoint的方程式来编写“ΣCF”。因此,它成为特殊的文本。
[注意]:在不使用“插入”->“方程式”工具的情况下编写以上文本/等式,[按Alt + 228和下标选项]我的代码产生预期的结果。
请建议是否有一种方法可以处理使用“插入”->“方程式”工具编写的文本/方程式。
谢谢。
最佳答案
如果您的SWF文件中出现乱码,可能是因为Flash不支持Unicode,或者是由于将错误的字符传递到SWF中。例如,这将使您了解所选方程式中的内容。请注意,如果使用Asc()而不是AscW(),则会得到错误的结果。
Sub WhatsInTheEquation()
Dim oSh As Shape
Dim oRng As TextRange2
Dim sTemp As String
Dim x As Long
Set oSh = ActiveWindow.Selection.ShapeRange(1)
For Each oRng In oSh.TextFrame2.TextRange.Runs
Debug.Print oRng.Text
Debug.Print oRng.Font.Name
Debug.Print "Size: " & oRng.Font.Size
sTemp = ""
For x = 1 To Len(oRng.Text)
sTemp = sTemp & " " & AscW(Mid$(oRng.Text, x, 1))
Next
Debug.Print sTemp
Next
End Sub
关于c# - 如何从C#中的PowerPoint幻灯片中读取复杂的方程式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16018744/