im Formular über Schaltfläche Dokument/Datei (pdf) öffnen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: im Formular über Schaltfläche Dokument/Datei (pdf) öffnen

Beitrag von komma4 »

dasdo77 hat geschrieben:in einem Formular durch eine Schaltflächen-Aktion ein Dokument (pdf) aus einem Firmennetzwerk aufrufen kann
Schaltfläche in das Formular einfügen, rechte Maustaste: Kontrollfeld...>Allgemein>Aktion: Dokument/Website öffnen>URL: eingeben


Hilft Dir das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: im Formular über Schaltfläche Dokument/Datei (pdf) öffnen

Beitrag von Wolf »

dasdo77 hat geschrieben:in einem Formular durch eine Schaltflächen-Aktion ein Dokument (pdf) aus einem Firmennetzwerk aufrufen kann
Hallo,

Vielleicht ist es so gemeint:
Du willst in Deiner Datenbank ein Feld reservieren fuer einen Link/Pfad zu einer Datei (pdf, Word, openOffice...)
Bei mir sieht das so aus (siehe Bild im Anhang)

Dann das Makro:

Code: Alles auswählen

Sub Call_Run(FormNo as integer, nameField as String)
' ----------------------------
dim oDoc as Object
dim oField as Object '...............define Object
dim sText as String
Dim iOS as integer
Dim Result(2) as String

        oDoc = thisComponent
        oField = oDoc.drawpage.forms.getbyName("MainForm").getbyName("LinkFeld")
        Result = callFile(oField)
End Sub


    
Function callFile(oField as Object)
' *************************************************
'  Call File
' *************************************************
Dim sText as String
Dim iOS as Integer
Dim Result(2) as String
Dim a as integer

	sText = oField.Text
	if trim(sText) <> "" Then '.....If the Field is not empty
		iOS = GetGUIType() '........get the type of OS
	
	 	select case iOS
 			case 1: '..................Windows
 				a = shell ("explorer "+sText)
			case 4: '..................UNIX/LINUX
				a = shell ("konqueror --silent "+sText,6)
		end select		
		if a = 0 then
			Result(0) = "OK"
			Result(1) = "File tried to call!"
		End if
	else '..............................if Field was empty,
		Result(0) = "False"
		Result(1) = "Empty String - nothing to call." '...put it into a message
	End if
 callFile = Result	'....Return the Result	 		
End Function
Die "Sub_Call" ist natuerlich die Routine, die ueber Deine Schaltflaeche dann aufgerufen wird.
"MainForm" ist der Name der Form herausfindbar ueber den Formularnavigator.
"LinkFeld" dann der Name deies Textfeldes, in dem der Link steht.

Hoffe das hilft
Dateianhänge
link.jpeg
link.jpeg (17.44 KiB) 1077 mal betrachtet
Zuletzt geändert von Wolf am Mo, 01.03.2010 06:30, insgesamt 1-mal geändert.
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: im Formular über Schaltfläche Dokument/Datei (pdf) öffnen

Beitrag von Wolf »

Hallo dasdo77,

Ich hab mal alles was bei mir laeuft in eine ZipDatei gepackt.

Entpacke und du findest:

Code: Alles auswählen

Lib_FileTools
__variablen.bas
aa_Cklick.bas
bb_call.bas
cc_getObjects.bas
dd_Field_MGT.bas
"Lib_FileTools" ist eine Bibliothek, die Du einbinden musst, damit meine Beispielprogramme laufen.
Anmerkung: Das ist keine hohe Schule der Programmierung :-( . Ist halt historisch gewachsen und funktioniert.!!

Erstelle Module mit den Namen wie oben gezeigt (ohne Endung .bas!) und lade den Quellcode der einzelnen Dateien in die Module.

Schaue als erstes auch das Modul __Variablen. Ich habe nicht gefiltert, keine Lust :-(.
Im Beispiel verwenden wir jetzt nur die Subs:
1. Sub VarPManager() um die Variablen zu belegen

Code: Alles auswählen

Sub VarPManager()
' ===================================
' Variablen fuer Project Manager
' ===================================
varCommon()
 MainForm = "MainForm"
 SubForm = "SubForm"
 FLink = "txtLink"
 FInfo = "txtInformation"
 FLen = "txtLen"
End Sub
"MainForm" heisst meisst immer so, wenn der Assistent benutzt wurde.
Dann brauchst Du noch FLink, hier musst Du statt "txtLink" deinen Feldnamen eintragen, den du unter den Steuerelementeigenschaften findest.
Rest brauchst Du nicht.

und 2. die drei Subs:

Code: Alles auswählen

Sub onSelect_PMan ()
	VarPManager() '.........................set up variables
	Call_Select(0,FLink)	
End Sub

sub onRun_PMan()
	VarPManager()
	Call_Run(0, FLink)
end Sub	

Sub onClear_PMan()
  	VarPManager()
	Call_Clear(0, FLink)
End Sub
Die erste Sub "onSelect_PMan" verknüpfst Du mit dem Select Button. (Eine Datei in deinem Netzwerk kannst Du waehlen)
Die zweite Sub "onRun_PMan()" mit dem Call Button. (Aufruf der Datei)
Und die dritte Sub mit dem CE button. (Leeren des Feldes)

Ich hab das jetzt nicht probiert, da ich den Quelltext einfach heraus-exportiert habe und den Aufrufparameter der Funktion "call_xxx" geaendert habe. Sollte aber soweit funktionieren.

Wolf
Dateianhänge
call_file.zip
(6.26 KiB) 46-mal heruntergeladen
link.jpeg
link.jpeg (17.44 KiB) 1077 mal betrachtet
Antworten