Seitenansicht per Schaltfläche im Dialog?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Seitenansicht per Schaltfläche im Dialog?

Beitrag von der.milco »

Hallo,
ich möchte per Schaltfläche in einem Dialog die Seitenansicht eines Tabellendokuments (Calc) aufrufen, habe allerdings in sämtlichen Dokumenten auf Sun.de nichts finden können.

Ich möchte den gleichen Befehl aufrufen, der beim Tabellenblatt über das Menü Datei > Seitenansicht zu erreichen ist.

Weiß jemand mit welchem Ausdruck ich das im BASIC-Code machen kann?
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hi,

ich habe doch noch was gefunden, ist zwar mit dem Dispatcher, sollte aber gehen:

Code: Alles auswählen

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Array())
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Beitrag von der.milco »

hmm..

also ich habe den code eingefügt, davor sub und dahinter end sub geschrieben und anschließend mit einer Schaltfläche verknüpft.

Beim Aufruf erscheint eine Fehlermeldung:
  • "BASIC-Laufzeitfehler - Objektvariable nicht belegt"
und die komplette dritte Zeile wird markiert
muss ich da noch was austauschen oder einsetzen??
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey milco,
muss ich da noch was austauschen oder einsetzen??
Nein, aber du musst noch eine Zeile einfügen - nach der Sub Zeile:

Code: Alles auswählen

dim Array()
Ein Array muss definiert werden, bevor es benutzt werden kann!

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Stimmt, leider eine Zeile beim Kopieren verschwinden lassen :-(
Sorry.

mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Beitrag von der.milco »

geht aber immernoch nicht!

Jetzt kommt die Fehlermeldung:
  • "Basic-Syntaxfehler - Variable Array bereits definiert.
Der Code sieht derzeit so aus:

Code: Alles auswählen

Sub Seitenansicht
dim Array()
document   = ThisComponent.CurrentController.Frame 
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") 
dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Array())
end sub
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey der.milco,

Theorie und Praxis.....

Nenn das Ding nicht "Array", das ist eine eingebaute Funktion. Nenn es halt "wasWeissIch()" oder "MyArray()" oder - wie sonst oft - "arg()" .

Dann sollte es schon klappen. (natürlich überall ändern...)

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hi,

also interessanterweise geht bei mir das Makro ohne dim und mit dem Namen array() und auch mit Dim und dem Namen array()

Code: Alles auswählen

sub showpreview
'dim array() 
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Array())
end sub
O0 2.0 und SO 7.0

Darufhin habe ich es mit:

Code: Alles auswählen

sub start
  url=converttourl("C:\test.sxc")
  oDocument = StarDesktop.loadComponentFromURL(url, "_blank", 0, array() )
end sub 
probiert. Auch wieder ohne dim und besonderen Namen. OO scheint Array() als leeres Array zu akzeptieren.



mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Beitrag von der.milco »

also, wie blöd bin ich denn... es geht immer noch nicht!! :-(

Ich habe diesen

Code: Alles auswählen

Sub Seitenansicht
dim Arg()
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") 
dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Arg())
end sub
und diesen

Code: Alles auswählen

sub showpreview 
'dim array() 
document   = ThisComponent.CurrentController.Frame 
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") 
dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, array()) 
end sub
ausprobiert und bei beiden die gleiche Fehlermeldung bekommen:
  • BASIS-Laufzeitfehler.
    Objektvariable nicht belegt.
Und diese Zeile wird komplett markiert

Code: Alles auswählen

dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Arg())
Kann mir jemand eine Datei schicken, bei der es funktioniert? Dann kann ich vielleicht besser den Fehler finden??
-Calc-Dokument mit Schaltfläche
-Schaltfläche öffnet Dialog mit (u.a.) der Schaltfläche "Seitenansicht"
-> die Seitenansicht soll die gleiche sein, die ich auch über das Menü Datei erreiche

Das wär toll! mailto:der.milco@web.de
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Milko,
Kann mir jemand eine Datei schicken, bei der es funktioniert?
Soeben erledigt. Viel Spass.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Beitrag von der.milco »

also jetzt wirds mir zu blöd... :evil:

danke, leute für eure Mails :), aber...

Michael: Fehlermeldung!
  • BASIC-Syntaxfehler.
    Variable array bereits definiert.
Thomas: Kann ich gar nicht öffnen. (OpenOffice-Format??)

Möglicherweise liegts ja am StarOffice 6.0, was ich hab...

------------------------------------

Egal, aber vielleicht könnt ihr mir bei was anderem helfen: :?:
viewtopic.php?t=4890

Danke trotzdem
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Milco,
Möglicherweise liegts ja am StarOffice 6.0, was ich hab...
Aaaaach.... hier liegt die Ursache :!:

StarOffice 6 .... das ist ja schon uralt! Nein, sorry, da kann ich nicht mehr helfen. Aktuell ist StarOffice 8 (OOo 2.0) , davor gab es StarOffice 7 (OOo 1.1), und jedesmal gab es Änderungen im Dispatcher - Modell. Und in anderen Kleinigkeiten....
Nein, sorry, StarOffice 6 kenn ich nicht und kann es auch nicht (mehr) supporten.

Empfehlung: Besorg dir das neue OOo 2.0 - ist frei - und progrmmier damit.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten