ich habe in einem Tabellenblatt eine Reihe von Hyperlinks zu Webseiten und Dokumenten.
Bisher benutze ich die Datei nur auf einem Ubuntu-System auf einem Laufwerk I, wo auch die Dokumente liegen:
Hier beginnt der Pfad mit 'file:///cifs/I/Unterordner/.../
Jetzt soll diese Datei auch auf einem Windowsystem laufen, mit gleicher Pfadstruktur.
Allerdings beginnt der Pfad hier mit 'file:///I:/Unterordner/.../
Ich habe versucht, die URL zu ändern, aber das funktioniert so nicht:
Code: Alles auswählen
' Wird bei 'Dokument öffnen' ausgeführt
Sub start
If getGUIType() = 1 Then
Call ErsetzeAlleHyperlink
End If
End sub
Sub ErsetzeAlleHyperlink()
Dim alterPfad As String
Dim neuerPfad As String
Dim myLink 'As Hyperlink
oCalc = thisComponent
oSheet = oCalc.sheets(0)
oCellRange = osheet.getCellRangeByName("A1:Z100")
'auslesen der Eckpunkte
iErsteSpalte = oCellRange.rangeAddress.startColumn
iErsteZeile = oCellRange.rangeAddress.startRow
iLetzteSpalte = oCellRange.rangeAddress.EndColumn
iLetzteZeile = oCellRange.rangeAddress.EndRow
'Schleife über die Zeilen im Sheet
For i = iErsteZeile to iLetzteZeile
For m = iErsteSpalte to iLetzteSpalte
oCell=osheet.getCellByPosition(m,i)
Call FindHyperLinkInCell(oCell)
next m
next i
End Sub
Sub FindHyperLinkInCell(oCell)
Dim oText, oParEnum, oParElement, alterPfad, neuerPfad
Dim oEnum, oElement
oParEnum = oCell.getText().createEnumeration()
alterPfad = "/cifs/i/"
neuerPfad = "I:"
Do While oParEnum.hasMoreElements ()
oParElement = oParEnum.nextElement()
oEnum = oParElement.createEnumeration()
Do While oEnum.hasMoreElements ()
oElement = oEnum.nextElement()
If oElement.TextPortionType = "TextField" Then
If oElement.TextField.supportsService("com.sun.star.text.TextField.URL") Then
oElement.TextField.URL =Replace(oElement.TextField.URL, alterPfad, neuerPfad)
End If
End If
Loop
Loop
End Sub
Gruß Thomas