.exe Datei über Makro öffnen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

felix
***
Beiträge: 54
Registriert: Di, 20.03.2007 17:09
Kontaktdaten:

.exe Datei über Makro öffnen

Beitrag von felix »

Hallo,

ich habe ein Problem. Unzwar möchte ich aus OO Calc heraus eine .exe datei öffnen. Allerdings bin ich blutiger Anfänger im Thema Makros.

Ich hoffe, dass mir jemand helfen kann.

P.S. gibt es irgendwelche Links, Bücher zum Thema Makros in Open office?
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Felix,
gibt es irgendwelche Links, Bücher zum Thema Makros in Open office?
Ja, gibt es. Zur Genüge ;-)
Schau dir einfach mal den ersten Thread im Basic-Forum an, dort sind eigentlich alle relevanten Infos gespeichert und abrufbar.

Zum .exe Problem: Der folgende Code ruft eine exe-Datei direkt auf - quasi so, als wenn du den Aufruf auf der Kommandozeile von Windows eingeben würdest. Eventuell musst du natürlich den Pfad mit hinzufügen, wenn das Programm nicht über die Pfad-Varaible erreichbar ist.

Code: Alles auswählen

sub Programm_Aufruf
 dim aArray()
 sURL = "C:\Programme\meinProgramm.exe"
 oService = createUnoService("com.sun.star.system.SystemShellExecute")
 oService.execute(sURL, aArray() ,0)
end sub 
Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
felix
***
Beiträge: 54
Registriert: Di, 20.03.2007 17:09
Kontaktdaten:

Beitrag von felix »

Hallo,

ich habs probiert.

Allerdings, wenn ich das Makro ausführe kommt immer die Meldung:

Code: Alles auswählen

Basic-Laufzeitfehler.
Objektvariable nicht belegt.

Code: Alles auswählen

1 sub Programm_Aufruf
 2 dim aArray()
 3 sURL = "C:\Programme\meinProgramm.exe"
 4 oService = createUnoService("com.sun.star.system.SystemShellExecute")
 5 oService.execute(sURL, aArray() ,0)
6 end sub
Dabei ist dann die Zeile 5 makiert(Blau hinterlegt)

Den Pfad habe ich entsprechend erweiter.
Hab ich was falsch gemacht
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo felix

Evtl hilft dir die Änderung der dritten Zeile auf:

Code: Alles auswählen

3 sURL = converttourl("C:\Programme\meinProgramm.exe")
Gruß Karo
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Hab ich was falsch gemacht

der zweite Parameter in:

Code: Alles auswählen

oService.execute(sURL, aArray() ,0)
stimmt nicht, siehe:
http://api.openoffice.org/docs/common/r ... ecute.html

Verwende:

Code: Alles auswählen

sub Programm_Aufruf 
 sURL = "C:\Programme\meinProgramm.exe" 
 oService = createUnoService("com.sun.star.system.SystemShellExecute") 
 oService.execute(sURL, "" ,0) 
end sub

Gruß
Stephan
felix
***
Beiträge: 54
Registriert: Di, 20.03.2007 17:09
Kontaktdaten:

Beitrag von felix »

Das funktioniert soweit sehr gut die .exe Datei wird geöffnet.
Jetzt habe ich noch eine Bitte. Die .exe DAtei kann mit Parametern geöffnet werden, was dazu führt, dass verschiedene vorab gespeicherte Einstellungen geladen werden. In der Anleitung des Programms ist das ganze in VBA als Beispiel gegeben.

Beispiel VBA:

Code: Alles auswählen

X=Shell("C:\Programme\Mein_Verzeichnis\Datei.exe -s0 -p5 -f='Standard.smz' -w='C:Programme\Mein_Verzeichnis\'",1)
-w steht für die Hilfsdatein, die gebraucht werden.

Wie muss das dann in Open Office sein damits richtig funktioniert?

Ich hoffe mir kann jemand helfen.

[/code]
Antworten