🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Dokument Formular

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
harald235

Re: Dokument Formular

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

Re: Dokument Formular

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:

Re: Dokument Formular

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

Re: Dokument Formular

Beitrag von Fabiii » So 27. Mai 2012, 21:35

Hallo,
vielen Dank bei mir kommt dann diese Meldung:

Gruß
Fabi
Dateianhänge
Unbenannt.png
Unbenannt.png (154.18 KiB) 8091 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Dokument Formular

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

Re: Dokument Formular

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

Re: Dokument Formular

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.:

Code: Alles auswählen

befehl = "open " + stFeld
shell(befehl)
gibt es dazu auch eine windows (Dos)-Variante?

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Dokument Formular

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.



Antworten