Page 1 sur 1

[Base] Substitut contrôle hyperlien

Publié : 27 août 2008 12:16
par claudius
Bonjour

Comme je cherche depuis longtemps une macro permettant d'ouvrir un fichier à partir d'un contrôle texte de formulaire dans lequel est inscrit une adresse de fichier, d'URL, ou de mail et que j'ai trouvé quelque chose qui marche, je mets cette macro sur le forum pour amélioration éventuelle.

J'ai un formulaire dans lequel il y un contrôle de table et des contrôles de texte liés

La macro me permet en cliquant sur un bouton (la macro est dans évènements bouton de souris enfoncé)à côté du contrôle texte contenant l'adresse du fichier, d'ouvrir ce fichier.
ça marche pour les pdf, url, fichiers .odt et .eml donc tous les fichiers je suppose...

Code : Tout sélectionner

REM  *****  BASIC  *****


Option Explicit

Sub SubstitutHyperlien
Dim monDocument As Object
Dim lesFormulaires AS Object, unFormulaire As Object, unSousFormulaire As Object

Dim monCtrl As Object, Adresse As String
Dim sv As Object, fichier As String

monDocument = thisComponent
lesFormulaires = monDocument.DrawPage.Forms
unFormulaire = lesFormulaires.getByName("Formulaire principal")'nom du contrôle de table dans le formulaire, qui sert de liste principale
unSousFormulaire = unFormulaire.getByName("Sous formulaire")'nom du sous formulaire lié au contrôle de table

monCtrl = unSousFormulaire.getByName("Adresse courrier scanné")'nom contrôle texte contenant l'adresse du fichier à ouvrir, entre guillemets doubles
Adresse = monCtrl.Text


sv = createUnoService("com.sun.star.system.SystemShellExecute")
sv.execute(Adresse, "",0)

End Sub

Re: [Base] Substitut contrôle hyperlien

Publié : 29 janv. 2018 20:00
par Jazzjoker
Merci de votre réponse si rapide ! Je vais essayer de mettre cela en oeuvre, même si mes connaissances sont modestes; cette approche me semble intéressante dans la mesure où elle exploite un chemin de fichier et non pas un fichier enregistré dans la base. Je reviendrai vers vous - et naturellement dans la section "Macros et Api" !

Merci !

Re: [Base] Substitut contrôle hyperlien

Publié : 24 nov. 2023 17:00
par anatole
Un peu tard... mais merci.
En simplifiant votre code je me suis fait une macro pour un bouton situé à côté d'une "Zone de texte" contenant un lien hypertexte, et permettant d'ouvrir celui-ci. En donnant le même nom à ce champ, je peux réutiliser ce bouton dans tous les formulaires des différentes tables où il y a un tel champ "lien hypertexte"

Code : Tout sélectionner

Sub OuvrirLienHTTP_1(oEv as Object)
Dim oForm as Object, monCtrl as Object, sv as Object
Dim Adresse as String
	oForm = oEv.Source.Model.Parent
	monCtrl = oForm.getByName("NomDeLazoneDeTexte")
	Adresse = monCtrl.Text
	sv = createUnoService("com.sun.star.system.SystemShellExecute")
	sv.execute(Adresse, "",0)	
	End Sub
Rien de bien extraordinaire mais j'avais beaucoup cherché avant d'en arriver là ! :)