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.
Fabiii
Beiträge: 39
Registriert: Sa 19. Mai 2012, 13:50

Dokument Formular

Beitrag von Fabiii » So 27. Mai 2012, 12:08

Hallo,
ich hab noch eine Frage und zwar möchte ich in Formulare Dokumente hinzufügen.
Ich möchte dann Draufklicken können und das Dokument öffnet sich wie geht das.

Beispiel:
Formular Zugeingabe

Bezeichnung
Hersteller
Handbuch

bei Handbuch möchte ich eine pdf Datei hinzufügen.
Wenn ich dann das Formular betrachte möchte ich dass man auf einen Link drückt und das Dokument öffnet sich.


Geht das???
Wie geht es???


Gruß
Fabi
Vielen Dank

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Dokument Formular

Beitrag von RobertG » So 27. Mai 2012, 12:46

Hallo Fabi,

Direkt und ohne Makros geht das natürlich nicht.

Ich habe das folgende einmal mit einem Dateiauswahlfeld getestet:

Code: Alles auswählen

SUB PDF_Aufruf
	oDoc=thisComponent
	oDrawpage=oDoc.Drawpage
	REM Lage des Feldes in dem entsprechenden Formular aufsuchen
	oForm=oDrawpage.Forms.getByName("Formular")
	oFeld=oForm.getByName("Dateiauswahl")
        stFeld=oFeld.Text
	shell("acroread",1,stFeld)
END SUB
Hier ist der Befehl zum Aufruf des Acrobat Readers "acroread" - vielleicht bei Dir anders. Damit öffnet sich der Acrobat Reader mit dem Inhalt, den Du im Dateiauswahlfeld angezeigt bekommst. Ob in Windows-Systemen das *.exe dazu gehört kann ich Dir nicht sagen.

Gruß

Robert
Zuletzt geändert von RobertG am So 27. Mai 2012, 17:17, insgesamt 1-mal geändert.
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, 13:45

Hallo,
vielen Dank für deine Antwort.
Könntest du mir die Datenbank schicken in der du es gemacht hast.
Dann kann ich es besser nachvollziehen was du meinst.

Gruß
Fabi

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Dokument Formular

Beitrag von RobertG » So 27. Mai 2012, 17:16

Halo Fabi,

der Code war leider nicht ganz vollständig. So wurde der Text aus der Dateiauswahl nicht gelesen.
Hier noch einmal der vollständige Code:

Code: Alles auswählen

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("acroread",1,stFeld)
END SUB
Ich hänge die Datei an. Allerdings gilt der Aufruf so nur in Linux-Systemen. Ich habe hier kein Windows-System zum Vergleich. Dort musst Du gegebenenfalls das Programm anders aufrufen. Siehe dazu den Thread von Harald ...
Es gibt ansonsten noch eine Methode, das ganze ohne die Programmangabe zu starten. Theoretisch müsste dann statt
shell("acroread",1,stFeld)
stehen

DIM oShell AS OBJECT
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
oShell.execute(stFeld,,0)

Das hat bei mir aber nicht den entsprechenden Erfolg gezeigt.

Gruß

Robert
Dateianhänge
PDF_oeffnen.odb.zip
(71.55 KiB) 301-mal heruntergeladen
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, 18:21

Hallo,
vielen Dank für deine Antwort.
So von dem Prinziep gefällt mir das sehr, sehr gut.
Nur funktioniert es bei mir natürlich nicht da ich Windows hab.
Ich hab jetzt nicht ganz genau verstanden was geändert werden muss.
Wer sehr dankbar wenn mir jemand den Linux Code in einen Windows Code übersetzten könnte.

Vielen Dank
Fabi
Hier nochmal 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("acroread",1,stFeld)
END SUB


harald235

Re: Dokument Formular

Beitrag von harald235 » So 27. Mai 2012, 19:37

Hallo Fabiii,

der Code für die letzte Zeile des Makros lautet unter Windows 7 (64bit):

Code: Alles auswählen

shell("C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe",1,stFeld)
Der Aufruf muß mit dem "wirklichen" Pfad erfolgen: im Win-Explorer steht als Pfad "C:\Programme (x86)\Adobe ..." , aber der wirkliche Pfad "C:\Program Files (x86)\Adobe ..." muß eingesetzt werden, also nicht die deutsche Übersetzung.

Wenn Dein Pfad zum Reader - oder Deine Version vom Reader - anders ist, klicke mit der rechten Maustaste das Icon vom Acrobat-Reader auf dem Desktop an, gehe auf "Eigenschaften". Dort siehst Du unter "Ziel" den Pfad zum Reader. Den übernimm in die letze Zeile des Makros von Robert.

Gruß harald
Zuletzt geändert von harald235 am So 27. Mai 2012, 19:49, insgesamt 1-mal geändert.

Fabiii
Beiträge: 39
Registriert: Sa 19. Mai 2012, 13:50

Re: Dokument Formular

Beitrag von Fabiii » So 27. Mai 2012, 19:47

Hallo,
vielen Dank für deine Antwort.
Ich habe nur Windows 7 32 Bit.
Ändert sich was an dem Code ?
Was ändert sich ?

Vielen Dank
Fabi

harald235

Re: Dokument Formular

Beitrag von harald235 » So 27. Mai 2012, 19:52

Fabiii,

lies den ganzen Beitrag. Da habe ich Dir beschrieben was zu tun ist. Wahrscheinlich fällt nur das (x86) weg.

Gruß harald

Fabiii
Beiträge: 39
Registriert: Sa 19. Mai 2012, 13:50

Re: Dokument Formular

Beitrag von Fabiii » So 27. Mai 2012, 19:56

Hallo,
hab ich gemacht doch es geht nicht.

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",1,stFeld)
END SUB

Gruß
Fabi

harald235

Re: Dokument Formular

Beitrag von harald235 » So 27. Mai 2012, 20:14

Hallo Fabiii,

hast Du nur das (x86) weggemacht? Oder wie beschrieben den richtigen Pfad aus den Eigenschaften des Acrobat-Reader geholt?
Wenn Dein Reader nicht Version 10.0 ist, funktioniert es nicht.

Gruß harald

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