BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

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

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
Beiträge: 2732
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) 6251 mal betrachtet

RobertG
Beiträge: 2732
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
Beiträge: 2732
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 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 ❤️

Antworten