我正在尝试阅读 Powerpoint 幻灯片。但是当我的程序遇到像这样的文本时 "Vo = Σ CF/(1+t) ",shape.TextFrame.TextRange.Paragraphs(paraindex,1).Text 属性无法正确读取(特别是Σ符号和下标0(零)与V)。所以最后的结果是乱码。
[编辑]:我发现 ppt 的创建者使用 powerpoint 的 Insert->Equation 来编写 "Σ CF"。所以它成为一个特殊的文本。
[注意]:在不使用 Insert->Equation 工具、[按 Alt+228 和下标选项] 的情况下编写上面的文本/方程我的代码会产生预期的结果。
如果有一种方法可以处理使用 Insert->Equation 工具编写的文本/方程式,请提出建议。
谢谢。
最佳答案
如果您的 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/