Liebe Community,
ich habe mir ein Makro gebaut, das Referenzmarken nach einem Muster in Text umwandelt. Das funktioniert bereits gut. Ich habe dafür die folgende Routine:
Sub FromReferenceToText
Dim a as integer
dim temp as string
Dim Pos As Long
Dim oText As Object
Dim oViewCursor As Object
oText = ThisComponent.Text
Dim i As Integer, oRefmarks, oRefmarkNames()
oDoc = ThisComponent
oRefmarks = ThisComponent.getReferenceMarks()
oRefmarkNames = oRefmarks.getElementNames()
For i = 0 To Ubound( oRefmarkNames )
If instr(oRefmarkNames(i), "JR_cite") Then
oViewCursor= oRefmarks.getByName( oRefmarkNames( i ) ).getAnchor()
'' does not work for empty citations.
oRefmarks.getByName( oRefmarkNames( i ) ).dispose()
temp=oRefmarkNames(i)
if left(temp,7)="JR_cite" then
temp = mid(temp,8)
end if
oText.insertString(oViewCursor, "\cite{" +temp + "}", false)
End if
Next
End Sub
Nun habe ich allerdings auch Referenzmarken, die im Textdokument leer sind (nur ein kleiner grauer Streifen ist im Dokument zu sehen). In diesen Fällen wirft mir das Macro eine Fehlermeldung aus:
Ich vermute, das liegt daran, dass es keine Cursorposition für leere Felder gibt. Hat jemand einen Tipp für mich, wie ich das Problem lösen kann?