Das geht m.E. nur über ein Makro. Nimm den kompletten Pfad (Url) und teile ihn per Split-Befehl in die Komponenten auf. Als Trennzeichen für Split benutzt du den Pfadtrenner /. Danach steht der komplette Pfad in einem Array. Das letzte Element ist der gesuchte Dateiname.
a = split(Url, sTrenner)
Dateiname = a(uBound(a))
Für den Fall, dass du deine Felder im Dokument Feld1 bis Feld33 genannt hast und aFeld die Feldinhalte im Makro in dieser Reihenfolge (1 bis 33) enthält, kannst du sie aus dem Makro heraus so beschreiben:
aFeld = array("","geschlecht","bdat","bearbeiter","kuerzel","ticket","reaktion2","gdat","klemail","klasse","stufe","ist18","reaktdate","","fzliste","","","","bildungsgang","anhdate","anhtime","kkkonsequenz","fzbeginn","mkonsequenz","endkonsequenz","kkdate","kktime","kontaktdate","version","gort","gformel","x","kkort","anhort")
for i=1 to 33 'felder 0 bis 23 im Dok auf dialogwerte setzen
sVar = "com.sun.star.text.FieldMaster.SetExpression.feld" & i
oPropSet = oTextFieldMasters.getByName(sVar)
oDepTextFields = oPropSet.DependentTextFields
oXDepTextFeld = oDepTextFields(0)
select case i
case 1,3,4,5,6,8,9,14,18,21,23,24,28,29,32,33'Textfelder ins Dokument feldn
sFeldinhalt = odlg.getControl(aFeld(i)).text
case 2,7,12,19,22,25,27'Datumsfelder ins Dokument feldn
sFeldinhalt = CDateFromUnoDate(odlg.getControl(aFeld(i)).date)
sFeldinhalt = ConvertDateTime(sFeldinhalt, "DOUBLE")
case 10'Numerischefelder ins Dokument feldn
sFeldinhalt = odlg.getControl(aFeld(i)).value
case 11'boolsche felder ins Dokument feldn
sFeldinhalt = odlg.getControl(aFeld(i)).state
case 20,26'Zeitfelder ins Dokument feldn
sFeldinhalt = CDateFromUnoTime(odlg.getControl(aFeld(i)).time)
sFeldinhalt = ConvertDateTime(sFeldinhalt, "DOUBLE")
case 30,31'Variable feldn
sFeldinhalt = sGFormel
end select
oXDepTextFeld.content = sFeldInhalt
oXDepTextFeld.isVisible = true
oDoc.getTextFields().refresh()
next
Die Idee stammt von Thomas Krumbein.