[Résolu][Calc] Image de fond et contrôle Picto

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
edd21
Fraîchement OOthentifié
Messages : 9
Inscription : 26 janv. 2014 20:18

[Résolu][Calc] Image de fond et contrôle Picto

Message par edd21 »

Bonjour à tous,
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)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par toucan le 13 févr. 2019 16:57, modifié 2 fois.
libre Office 4.3.1.2
macOS 10.9.1
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Calc] [BASIC] Image de fond PIcto

Message par Piaf »

Bonjour
edd21 a écrit :avec un contrôle picto
Dans ton fichier exemple, il ne s'agit pas d'un contrôle picto mais d'un bouton picto.
Tu peux tester

Code : Tout sélectionner

Sub pick_a_file(oEv as Object)
   Dim fName As String
   fName = open_file()
   oEv.Source.Model.ImageURL = fName
End Sub
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9252
Inscription : 28 août 2010 08:45

Re: [Calc] Image de fond PIcto

Message par micmac »

Bonjour,
[b][color=#404080]edd21[/color][/b] a écrit :macos high sierra, libroffice Version: 5.3.4.2 (je ne peux pas changer pour le moment)
Accès direct à votre signature pour y mettre ces renseignements.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac