Programmierung unter AOO/LO (StarBasic, Python, Java, ...)
Moderator: Moderatoren
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Mo, 12.09.2011 16:48
MartinK hat geschrieben: Ich habe mir vorerst ein Formular gebastelt, welches den Inhalt einer vorher erstellten Tabelle anzeigt.[...]
Hier kommt leider immer die Fehlermeldung "Objektvariable nicht belegt"
Du hast das Objekt nicht belegt.
Wenn es tatsächlich ein Formular einer BASE-Datenbank ist, dann geht das so:
Code: Alles auswählen
' Makro in STANDARD-Bibliothek der ODB, aufgerufen vom Formular
oFeld = ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "frmID" ).Text
MartinK hat geschrieben: bin leider noch einsteiger in oO Base
Besorge Dir mal
Andrews Datenbank-Dokument von seiner Webseite, da steht schon einiges drin.
Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Di, 13.09.2011 08:11
MartinK hat geschrieben: Woran könnte das liegen?
Falsches "aktives" Dokument?
Kein Writer-Formular?
Feld nicht im ersten Formular?
Besorge Dir
XRAY , installiere es, lade es (einmal pro OO-Sitzung über die Basic-IDE öffnen), oder zu Beginn einer DEBUG-Sitzung laden
Code: Alles auswählen
If NOT GlobalScope.BasicLibraries.isLibraryLoaded( "XrayTool" ) Then
GlobalScope.BasicLibraries.loadLibrary( "XrayTool" )
End if
und dann probiere, was Du erhälst
Code: Alles auswählen
xray ThisComponent
xray ThisComponent.Drawpage
xray ThisComponent.Drawpage.Forms()
xray ThisComponent.Drawpage.Forms().getByIndex( 0 )
xray ThisComponent.Drawpage.Forms().getByIndex( 0 ).ElementNames
xray ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "frmID" )
Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Di, 13.09.2011 10:10
MartinK hat geschrieben: Ich wollte doch eigentlich nur einen Button im Formular, der eine PDF-Datei öffnet
Das macht Dein Betriebssystem, wenn Du in dem Datenordner auf das PDF-Symbol klickst.
Du willst aber den Pfad aus einer Datenbank auslesen, in einem Textfeld darstellen und dann draufklicken können...
Da das nicht eingebaut ist - musst Du es selbst programmieren.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Di, 13.09.2011 11:23
MartinK hat geschrieben: ich habe eigentlich damit gerechnet, dass das nur so ein zwei zeilen im programm werden
Es sind im Prinizp nur die drei Zeilen, die Du oben gepostet hast.
Code: Alles auswählen
oFeld = ThisComponent.Drawpage.Forms().getByIndex( 0 ).getByName( "frmID" ).Text
PDFname = "P:\xyz\"+"ID"+oFeld+".pdf"
Shell("C:\Programme\Adobe\Reader 10.0\Reader\AcroRd32.exe", 2 , PDFname)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
komma4
********
Beiträge: 5332 Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:
Beitrag
von komma4 » Di, 13.09.2011 13:46
MartinK hat geschrieben: warum das nciht funktioniert und was ich machen muss, damit es funktioniert.
Das kann Dir keiner sagen, wenn Du nicht ein Beispieldokument zur Verfügung stellst (für Dateianhänge musst Du angemeldet sein).
Die
ThisComponent -Zeile funktioniert bei mir, in einem Formular einer BASE-(interne HSQLDB) Datei - gestern abend extra für Dich getestet.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)