von Toxitom » Fr, 23.03.2007 20:18
Hey Thomas,
ich misch noch mal mit, auch wenn schon etwas länger her, aber, CeBIT und so...
Neben dem reinen Basic-Shell Befehl den ihr hier benutzt, solltest du einmal denb UNO-Shell Befehlt testen. Hier ist es nämlich in der Regel gar nicht nötig, den genauen Ort des Programms zu kennen - solange es nur dem System bekannt ist (Mime-Typ). Das ist meist effizienter.
Also, um das PDF-Dokument aufzurufen, reicht dann:
Code: Alles auswählen
sub showPDF
sURL = "d:\Daten\test.pdf" 'Dateinamen mit Pfad
oService = createUnoService("com.sun.star.system.SystemShellExecute")
oService.execute(sURL,,0)
end sub
Der Execute-Befehl erwartet drei Parameter: zunächst die Datei oder das Programm. Übergibt man nur eine Datei, so entspricht das einem Doppelklick in der Gui auf den Dateinamen - das System erkennt die dazugehörige Applikation und startet die automatisch

(es muss also nicht der Adobe Reader sein), der zweite Parameter wäre eine Liste von Übergabeparametern (oder eben nichts) und der dritte ist ein Flag:
0 = Standard, 1 = keine Systemmeldung, falls Fehler.
Ich denke, das wäre der bessere Weg in deinem Programm.
Viele Grüße
Thomas
Hey Thomas,
ich misch noch mal mit, auch wenn schon etwas länger her, aber, CeBIT und so... ;-)
Neben dem reinen Basic-Shell Befehl den ihr hier benutzt, solltest du einmal denb UNO-Shell Befehlt testen. Hier ist es nämlich in der Regel gar nicht nötig, den genauen Ort des Programms zu kennen - solange es nur dem System bekannt ist (Mime-Typ). Das ist meist effizienter.
Also, um das PDF-Dokument aufzurufen, reicht dann:
[code]sub showPDF
sURL = "d:\Daten\test.pdf" 'Dateinamen mit Pfad
oService = createUnoService("com.sun.star.system.SystemShellExecute")
oService.execute(sURL,,0)
end sub[/code]
Der Execute-Befehl erwartet drei Parameter: zunächst die Datei oder das Programm. Übergibt man nur eine Datei, so entspricht das einem Doppelklick in der Gui auf den Dateinamen - das System erkennt die dazugehörige Applikation und startet die automatisch :-) (es muss also nicht der Adobe Reader sein), der zweite Parameter wäre eine Liste von Übergabeparametern (oder eben nichts) und der dritte ist ein Flag:
0 = Standard, 1 = keine Systemmeldung, falls Fehler.
Ich denke, das wäre der bessere Weg in deinem Programm.
Viele Grüße
Thomas