BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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
- Beiträge: 2732
- 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) 6251 mal betrachtet
-
RobertG
- Beiträge: 2732
- 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
- Beiträge: 2732
- 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 nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️