von Stephan » Mi, 19.12.2018 17:25
			
			
			Da Du den Anker der jeweiligen Fußnoten (genauer gesagt  wohl den Anker (Anchor)  des Fußnotenankers (ein Feld)) bereits kennst ist das einfach:
-erzeuge einen Textcursor
-Springe mit dem Textcursor zum jeweiligen Anker (ohne zu markieren)
-springe nun zum Anfang des aktuellen Absatzes ohne zu markieren
-springe zum Ende des aktuellen Absatzes (mit Markieren)
Der String des Textcursors ist nun jeweils der gesuchte Absatztext
Code: Alles auswählen
REM  *****  BASIC  *****
REM Auflistung aller im Dokument vorhandenen Fußnoten
REM 
Dim oDocC as Object
Dim oDocW as Object
Dim oSheet as Object
Dim oRange as Object
Sub GetFootnote
Dim mArr() as Variant
Dim oCol as Object
Dim i as Long
  oDocW = ThisComponent
  oFN=oDocW.Footnotes
  oFNSettings = oDocW.getFootnoteSettings()
  
  cur = ThisComponent.Text.CreateTextCursor
	' Öffnen eines Calc-Dokuments
	oDocC = StarDesktop.loadComponentFromURL("private:factory/scalc","_blank", 0, Array())
		' Referenzierung der "Tabelle 1"
		oSheet = oDocC.Sheets(0)
			' Zellbereich A2:B2001 zur Dinmensionierung des Array's in das Array schreiben
			mArr()=osheet.getcellrangebyposition(0,1,2,2001).getDataArray
			
	For i = 0 To oFN.Count-1
			' Spalte A
			mArr(i)(0) = oFN(i).Anchor.String
			Msgbox oFN(i).Anchor.String & CHR(13) &  oFN(i).String
			' Spalte B
			mArr(i)(1) = oFN(i).String
			' Spalte C
			cur.gotoRange(oFN(i).Anchor, False)
			cur.gotoStartofParagraph(False)
			cur.gotoEndofParagraph(True)
			mArr(i)(2) = cur.String '"Hier fehlt der Text des Absatzes"
	Next i
	' Referenz Range-Objekt (Zellbereich)
    oRange = osheet.getcellrangebyposition(0,1,2,2001)
	' Array in Zellbereich schreiben
    oRange.setDataArray(mArr)
	' Spaltenüberschrift einfügen und formatieren
    osheet.getCellRangeByName("A1").String="Index"
    osheet.getCellRangeByName("B1").String="Fußnoten"
    osheet.getCellRangeByName("C1").String="Absatzinhalt"
    osheet.getCellRangeByName("A1").CharWeight = com.sun.star.awt.FontWeight.BOLD
    osheet.getCellRangeByName("B1").CharWeight = com.sun.star.awt.FontWeight.BOLD
    osheet.getCellRangeByName("C1").CharWeight = com.sun.star.awt.FontWeight.BOLD
    osheet.getCellRangeByName("A1").charcolor = &HFF0000
    osheet.getCellRangeByName("B1").charcolor = &HFF0000 
    osheet.getCellRangeByName("C1").charcolor = &HFF0000 
	' Spaltenbreite anpassen
	oCol = oSheet.getColumns()
	oCol.optimalWidth = true
End Sub
 
Gruß
Stephan
 
			
			
							Da Du den Anker der jeweiligen Fußnoten (genauer gesagt  wohl den Anker (Anchor)  des Fußnotenankers (ein Feld)) bereits kennst ist das einfach:
-erzeuge einen Textcursor
-Springe mit dem Textcursor zum jeweiligen Anker (ohne zu markieren)
-springe nun zum Anfang des aktuellen Absatzes ohne zu markieren
-springe zum Ende des aktuellen Absatzes (mit Markieren)
Der String des Textcursors ist nun jeweils der gesuchte Absatztext
[code]REM  *****  BASIC  *****
REM Auflistung aller im Dokument vorhandenen Fußnoten
REM 
Dim oDocC as Object
Dim oDocW as Object
Dim oSheet as Object
Dim oRange as Object
Sub GetFootnote
Dim mArr() as Variant
Dim oCol as Object
Dim i as Long
  oDocW = ThisComponent
  oFN=oDocW.Footnotes
  oFNSettings = oDocW.getFootnoteSettings()
  
  cur = ThisComponent.Text.CreateTextCursor
	' Öffnen eines Calc-Dokuments
	oDocC = StarDesktop.loadComponentFromURL("private:factory/scalc","_blank", 0, Array())
		' Referenzierung der "Tabelle 1"
		oSheet = oDocC.Sheets(0)
			' Zellbereich A2:B2001 zur Dinmensionierung des Array's in das Array schreiben
			mArr()=osheet.getcellrangebyposition(0,1,2,2001).getDataArray
			
	For i = 0 To oFN.Count-1
			' Spalte A
			mArr(i)(0) = oFN(i).Anchor.String
			Msgbox oFN(i).Anchor.String & CHR(13) &  oFN(i).String
			' Spalte B
			mArr(i)(1) = oFN(i).String
			' Spalte C
			cur.gotoRange(oFN(i).Anchor, False)
			cur.gotoStartofParagraph(False)
			cur.gotoEndofParagraph(True)
			mArr(i)(2) = cur.String '"Hier fehlt der Text des Absatzes"
	Next i
	' Referenz Range-Objekt (Zellbereich)
    oRange = osheet.getcellrangebyposition(0,1,2,2001)
	' Array in Zellbereich schreiben
    oRange.setDataArray(mArr)
	' Spaltenüberschrift einfügen und formatieren
    osheet.getCellRangeByName("A1").String="Index"
    osheet.getCellRangeByName("B1").String="Fußnoten"
    osheet.getCellRangeByName("C1").String="Absatzinhalt"
    osheet.getCellRangeByName("A1").CharWeight = com.sun.star.awt.FontWeight.BOLD
    osheet.getCellRangeByName("B1").CharWeight = com.sun.star.awt.FontWeight.BOLD
    osheet.getCellRangeByName("C1").CharWeight = com.sun.star.awt.FontWeight.BOLD
    osheet.getCellRangeByName("A1").charcolor = &HFF0000
    osheet.getCellRangeByName("B1").charcolor = &HFF0000 
    osheet.getCellRangeByName("C1").charcolor = &HFF0000 
	' Spaltenbreite anpassen
	oCol = oSheet.getColumns()
	oCol.optimalWidth = true
End Sub[/code]
Gruß
Stephan