Après quelques heures de recherche, je sens que je ne suis pas loin de mon but, mais je patauge trop pour finaliser.
Dans un document calc, je souhaite cadrer en dimensions l'import d'une photo, pour faciliter l'usage.
En d'autres termes voici mon objectif :
j'ai une une feuille calc, avec un contrôle picto à la dimension souhaitée.
lorsque je clique sur le picto, je veux ouvrir une recherche de fichier, dans un répertoire particulier, filtré sur un format particulier.
Je choisis le fichier (image donc), je clique sur ok
l'url de cette image sélectionnée doit alors être passée en paramètre du picto pour devenir l'image de fond.
Je vous joints un exemple de fichier calc
j'affecte la macro ci-dessous au bouton picto (lorsqu'on clique dessus)
Cette macro vient du site h**ps://www.debugpoint.com/2015/01/use- ... penoffice/
Evidemment, la macro ne fait qu'afficher une textbox avec l'URL, moi je veux la passer en argument de ma picto, et je ne vois pas comment faire,
c'est là que j'ai besoin de vous !
Code : Tout sélectionner
Sub pick_a_file()
Dim fName As String
fName = open_file()
MsgBox fName & chr(10) & ConvertFromUrl(fName)
End Sub
Function open_file() as String
Dim file_dialog as Object
Dim status as Integer
Dim file_path as String
Dim init_path as String
Dim ucb as object
Dim filterNames(3) as String
filterNames(0) = "*.*"
filterNames(1) = "*.png"
filterNames(2) = "*.jpg"
GlobalScope.BasicLibraries.LoadLibrary("Tools")
file_dialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
ucb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
AddFiltersToDialog(FilterNames(), file_dialog)
'Set your initial path here!
init_path = ConvertToUrl("/usr")
If ucb.Exists(init_path) Then
file_dialog.SetDisplayDirectory(init_path)
End If
status = file_dialog.Execute()
If status = 1 Then
file_path = file_dialog.Files(0)
open_file = file_path
End If
file_dialog.Dispose()
End Function
macos high sierra, libroffice Version: 5.3.4.2 (je ne peux pas changer pour le moment)