von crazydoc » Fr, 17.10.2008 20:22
komma4 hat geschrieben:
Base-Datei öffnen, Formular im Bearbeitungsmodus öffnen, Makros-Verwalten-Dialog, links: BaseDateiName:FormName lokalisieren und NEU drücken.
Dort steht genau das:
Code: Alles auswählen
Sub BefundAbspeichern
oDok = ThisComponent
oForm = oDok.DrawPage.forms.getbyindex(0)
sPatientenName = oForm.getByName( "Vorname" ).getText() & "_" & oForm.getByName( "Nachname" ).getText() & ".odt"
sVerzeichnis = "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\"
If _
( Not GlobalScope.BasicLibraries.isLibraryLoaded( "Tools" ) ) _
Then
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
End If
'Vollständigen Dateinamen aus Pfad und Dateinamen zusammensetzen
sDateiName = ConvertToURL( sVerzeichnis & sPatientenName )
'Entweder neues Dokument mit Namen erstellen
'oder bestehendes Dokument des entsprechenden Namens öffnen
If ( FileExists( sDateiName ) ) Then
oDok = StarDesktop.loadComponentFromURL( sDateiName, "_blank", 0, Array() )
Else
oDok = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_blank", 0, Array() )
oDok.storeAsURL( sDateiName, Array() )
End If
End Sub
Ich hab durch Herumprobieren mit den Codezeilen herausgefunden, dass
gar nichts zurückliefert, also offenbar "leer" ist. Vielleicht liegt dort der Fehler.
Wenn man nämlich die Zeile, die mit "sPatientenname" auskommentiert und einfach
setzt, wird das Skript fehlerfrei durchlaufen. Nur ist halt der Dateiname immer derselbe, eh klar.
Die Datenbank sieht strukturell so aus:
ID Vorname Nachname
0 Ilse GuckindieLuft
1 Max Mustermann
2 Björn Borg
[quote="komma4"]
Base-Datei öffnen, Formular im Bearbeitungsmodus öffnen, Makros-Verwalten-Dialog, links: [color=#0040FF]BaseDateiName:FormName[/color] lokalisieren und [color=#008000]NEU[/color] drücken.[/quote]
Dort steht genau das:
[code]Sub BefundAbspeichern
oDok = ThisComponent
oForm = oDok.DrawPage.forms.getbyindex(0)
sPatientenName = oForm.getByName( "Vorname" ).getText() & "_" & oForm.getByName( "Nachname" ).getText() & ".odt"
sVerzeichnis = "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\"
If _
( Not GlobalScope.BasicLibraries.isLibraryLoaded( "Tools" ) ) _
Then
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
End If
'Vollständigen Dateinamen aus Pfad und Dateinamen zusammensetzen
sDateiName = ConvertToURL( sVerzeichnis & sPatientenName )
'Entweder neues Dokument mit Namen erstellen
'oder bestehendes Dokument des entsprechenden Namens öffnen
If ( FileExists( sDateiName ) ) Then
oDok = StarDesktop.loadComponentFromURL( sDateiName, "_blank", 0, Array() )
Else
oDok = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_blank", 0, Array() )
oDok.storeAsURL( sDateiName, Array() )
End If
End Sub
[/code]
Ich hab durch Herumprobieren mit den Codezeilen herausgefunden, dass
[code]oForm.getByName( "Vorname" )[/code]
gar nichts zurückliefert, also offenbar "leer" ist. Vielleicht liegt dort der Fehler.
Wenn man nämlich die Zeile, die mit "sPatientenname" auskommentiert und einfach
[code]sPatientenname="Max_Mustermann.odt"[/code]
setzt, wird das Skript fehlerfrei durchlaufen. Nur ist halt der Dateiname immer derselbe, eh klar.
Die Datenbank sieht strukturell so aus:
ID Vorname Nachname
0 Ilse GuckindieLuft
1 Max Mustermann
2 Björn Borg