🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
-
harald235
Beitrag
von harald235 » So 27. Mai 2012, 20:31
Hallo Fabiii,
Fabiii hat geschrieben:shell("C:\Program Files\Adobe\Reader 10.0\Reader",1,stFeld)
Möglicherweise fehlt auch nur ein ".exe" bei Deinem letzten Reader-eintrag: "C:\Program Files\Adobe\Reader 10.0\Reader
.exe". Wenn .exe fehlt kommt zumindest ein Warnhinweis bei mir.
Da Du aber immer sehr sparsam mit konkreten Angaben bist,
Fabiii hat geschrieben:hab ich gemacht doch es geht nicht.
kann man Dir kaum konkret helfen. Etwas mehr Mühe könntest Du Dir da schon geben.
Gruß harald
-
Fabiii
- Beiträge: 39
- Registriert: Sa 19. Mai 2012, 13:50
Beitrag
von Fabiii » So 27. Mai 2012, 20:38
Hallo
vielen Dank für deine Antwort.
Also es geht auch nicht mit dem .exe
Was soll ich denn da noch sagen hier der Code:
Code: Alles auswählen
REM ***** BASIC *****
SUB PDF_Aufruf
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
oDoc=thisComponent
oDrawpage=oDoc.Drawpage
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oForm=oDrawpage.Forms.getByName("Formular")
oFeld=oForm.getByName("Dateiauswahl")
REM Den Text aus der Dateiauswahl auslesen
stFeld=oFeld.Text
REM Start des *.pdf-Files mit der entsprechenden Datei
REM 1: Das Programm erhält den Fokus und wird in einem Fenster in Normalgröße gestartet.
shell("C:\Program Files\Adobe\Reader 10.0\Reader.exe",1,stFeld)
END SUB
Gruß
Fabi
-
RobertG
- * LO-Experte *
- Beiträge: 2884
- Registriert: Sa 19. Mai 2012, 17:37
-
Kontaktdaten:
Beitrag
von RobertG » So 27. Mai 2012, 20:43
Hallo *,
ich habe jetzt einige Zeit getüftelt um dahinter zu kommen, wie der Aufruf ohne Programmangabe systemunabhängig funktioniert:
Code: Alles auswählen
SUB Datei_Aufruf
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oShell AS OBJECT
oDoc=thisComponent
oDrawpage=oDoc.Drawpage
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oForm=oDrawpage.Forms.getByName("Formular")
oFeld=oForm.getByName("Dateiauswahl")
REM Den Text aus der Dateiauswahl auslesen
stFeld=oFeld.Text
REM Start des Files mit der entsprechenden URL-Verbindung
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
stFeld = convertToUrl(stFeld)
oShell.execute(stFeld,,0)
END SUB
Ich hatte immer die Konvertierung außen vor gelassen - war doch eine Pfadangabe, so dachte ich.
Der Code oben funktioniert unabhängig von der Betriebssystemversion und unabhängig von der zu öffnenden Datei. Ich habe testweise ein Bild und eine *.pdf-Datei geöffnet - geht.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
Fabiii
- Beiträge: 39
- Registriert: Sa 19. Mai 2012, 13:50
Beitrag
von Fabiii » So 27. Mai 2012, 21:35
Hallo,
vielen Dank bei mir kommt dann diese Meldung:
Gruß
Fabi
-
Dateianhänge
-

- Unbenannt.png (154.18 KiB) 8094 mal betrachtet
-
RobertG
- * LO-Experte *
- Beiträge: 2884
- Registriert: Sa 19. Mai 2012, 17:37
-
Kontaktdaten:
Beitrag
von RobertG » So 27. Mai 2012, 21:55
Hallo Fabi,
entweder musst Du das Makro umbenennen (ich habe es "Datei_Aufruf" genannt) oder Du musst den alten Aufruf durch den neuen ersetzen.
Die Meldung sagt Dir, dass das erforderliche Script aus Deinem Formular nicht gefunden wurde - es heißt ja jetzt auch anders ...
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
harald235
Beitrag
von harald235 » Mo 28. Mai 2012, 01:19
Hallo Robert,
Dein Makro ist der Hammer. Ich habe damit geöffnet:
Alle Arten von LibreOffice-Anwendungen, *.jpg-, *.tif- und *.bmp-Bilder. Das unter openSUSE 12.1 und Windows 7. Unter Windows spaßhalber noch CorelDraw-Dateien und Elster-Formulare (Steuer), sowie *.doc's die auch mit Word und *.xls, die auch mit Exel geöffnet werden.
Alles funktioniert einwandfrei. Respekt!
Gruß harald
-
Decurtins
- Beiträge: 20
- Registriert: So 20. Mai 2012, 16:55
Beitrag
von Decurtins » Do 7. Jun 2012, 13:33
Bei mac (Unix) reicht übrigens ein einfaches "open" vor die URL, damit wird das systemweite
Standardprogramm für das entsprechende File-suffix (.pdf) geöffnet.
z.B.:
gibt es dazu auch eine windows (Dos)-Variante?
-
RobertG
- * LO-Experte *
- Beiträge: 2884
- Registriert: Sa 19. Mai 2012, 17:37
-
Kontaktdaten:
Beitrag
von RobertG » Do 7. Jun 2012, 19:47
Soweit wir das getestet haben ist bei Windows über "shell" immer die gesamte Pfadangabe notwendig, in der das Programm zu finden ist.
Das wurde bei einem anderen Thread auch schon diskutiert:
http://www.libreoffice-forum.de/viewtop ... 57&start=0
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.