2017-12-28 43 views
0

Ich möchte mit VBA etwas über einen normalen MS-Word-Absatz machen. Aber eine Anzeigemodusgleichung sieht genau wie ein Absatz aus. Kann mir bitte jemand den Unterschied zwischen ihnen sagen? Oder stellen Sie ein VBA-Beispiel zur Verfügung, um sie zu unterscheiden.Wie man einen MS-Wort-Absatz von einer Anzeigemodus-Gleichung unterscheidet

enter image description here

Function IsADisplayModeEquation(ParagraphIndex As Long) 
    Dim ParagrapLineNum As Long 
    Dim EquationLineNum As Long 
    ParagrapLineNum = ActiveDocument.Paragraphs(ParagraphIndex).Range.Information(wdFirstCharacterLineNumber) 

    n = ActiveDocument.Bookmarks("\page").Range.OMaths.Count 
    For I = 1 To n 
     EquationLineNum = ActiveDocument.Bookmarks("\page").Range.OMaths(I).Range.Information(wdFirstCharacterLineNumber) 
     If (ParagrapLineNum = EquationLineNum) And ActiveDocument.Bookmarks("\page").Range.OMaths(I).Type = wdOMathDisplay Then 
      IsADisplayModeEquation = True 
      Exit Function 
     End If 
    Next I 
    IsADisplayModeEquation = False 
End Function 

Antwort

0

A hässliche Funktion:

Function IsADisplayModeEquation(ParagraphIndex As Long) 
    Dim ParagrapLineNum As Long 
    Dim EquationLineNum As Long 
    ParagrapLineNum = ActiveDocument.Paragraphs(ParagraphIndex).Range.Information(wdFirstCharacterLineNumber) 

    n = ActiveDocument.Bookmarks("\page").Range.OMaths.Count 
    For I = 1 To n 
     EquationLineNum = ActiveDocument.Bookmarks("\page").Range.OMaths(I).Range.Information(wdFirstCharacterLineNumber) 
     If (ParagrapLineNum = EquationLineNum) And ActiveDocument.Bookmarks("\page").Range.OMaths(I).Type = wdOMathDisplay Then 
      IsADisplayModeEquation = True 
      Exit Function 
     End If 
    Next I 
    IsADisplayModeEquation = False 
End Function 
Verwandte Themen