Fehler beim Aufruf eines Dokuments per Shell

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Fehler beim Aufruf eines Dokuments per Shell

Re: Fehler beim Aufruf eines Dokuments per Shell

von Karolus » Mo, 09.04.2012 17:11

Hallo
Falls ich bei deinem Code durchblicke, solltest du mal die Zeile:
ordner_liste=oSFA.getFolderContents(pfad2,False)
korrigieren.

und ob eine Datei existiert prüft man schlicht mit:

Code: Alles auswählen

if fileexists( pfad_zur_datei ) then
edit: offenbar handelt es sich um ein Writerdokument, das öffnet man nicht per systemshell sondern per

Code: Alles auswählen

stardesktop.loadComponentfromUrl(  pfad2 ,"_blank",0 ,NoArgs())
Karo

Fehler beim Aufruf eines Dokuments per Shell

von arkadiuszpaluszek » Mo, 09.04.2012 16:01

Hallo!

Habe einen Fehler welcher nur auf dem Mac auftritt, steht evtl. (ist mir nicht ganz klar) auch im Zusammenhang mit einem hier beschriebenen anderen Problem:
viewtopic.php?f=18&t=52922

Habe folgende Ordnerstruktur:
MeineAnwendung / Formulare / AufrufendeDatei.odt
MeineAnwendung / Rechnungen / Zieldatei.odt

In der Zieldatei habe ich folgendes Makro ausgeführt:

Code: Alles auswählen

pfad=thisComponent.Location
MsgBox pfad
Ergebnis:
file:///Users/mymini/Netzlaufwerk/MeineAnwendung/Rechnungen/Zieldatei.odt

In der Anwendung AufrufendeDatei.odt kommt also folgender Code:

Code: Alles auswählen

pfad2="file:///Users/mymini/Netzlaufwerk/MeineAnwendung/Rechnungen/Zieldatei.odt"
			
pfad2=convertFromURL(pfad2) ' Konvertierung von der URL in eine systemkonforme Adresse
			msgbox ("pfad2=convertFromURL(pfad2)"+chr(13)+pfad2)
' BEVOR DIE RECHNUNG GEÖFFNET WERDEN KANN, MUSS GEPRÜFT WERDEN OB ES DIE DATEI MIT DEM 
' ENTSPRECHENDEM NAMEN GIBT
dim oSFA as Object
dim ordner_liste()

oSFA=createUnoService("com.sun.star.ucb.SimpleFileAccess")
ordner_liste=oSFA.getFolderContents(pfad,False)

sucherfolg=0
for i=0 to uBound(ordner_liste())
datei=convertFromURL(ordner_liste(i))
	if datei=pfad2 then sucherfolg=1

next

if sucherfolg=1 then
	' Rechnung oeffnen
		oShell=createUnoService("com.sun.star.system.SystemShellExecute")
msgbox pfad2
		oShell.execute(pfad2,,0)
	else
		msgbox("Zu dieser Rechnung gibt es im Rechnungsordner keine Datei mehr oder deren Bezeichnung wurde geändert.")
end if	
Es kommt nicht mal zu meiner MsgBox welche informieren soll, dass es die entsprechende Datei nicht gibt, stattdessen folgende Fehlermeldung:
BASIC-Laufzeitfehler
Es ist eine Ausnahme aufgetreten
Type:com.sun.star.system.SystemShellExecuteException
Message: No such file or directory

Sorry, ich habe mir den Pfad zuvor durch thisComponent.Location anzeigen lassen, verstehe also nicht, warum es diese Datei nun nicht geben soll.

Verzichte ich aber auf die Konvertierung per ConvertFromURL, bekomme ich zumindest meine eigene Fehlermeldung in der MsgBox, aber es funzt trotzdem nicht richtig!

Nach oben