Bonjour,
Voici mon dilemme, je veux créer une macro qui me crée un dossier client, s'il n'existe pas, dans lequel la fiche et les différents devis s'enregistrent dedans.


exemple: cellule B2 nom client
création du dossier nommé par cellule B2 , et enregistrement du fichier dans le dossier créer.
Bien sûr si dossier existe ne pas le créer mais enregistrer le nouveau document dedans.

j'ai déjà une macro pour enregistrer le document, si on peut y ajouter les nouveaux éléments
Merci par avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  sub enregistre
    rem ----------------------------------------------------------------------
    rem definitions des variables
    rem ----------------------------------------------------------------------
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    rem ----------------------------------------------------------------------
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    rem ----------------------------------------------------------------------
    rem Récupération du contenu de la cellule B2
    rem ----------------------------------------------------------------------
    MonDoc = ThisComponent
    MaFeuil = MonDoc.CurrentController.ActiveSheet
    MonTxt = MaFeuil.GetCellRangeByName("B2").String
    rem ----------------------------------------------------------------------
    rem Enregistrement du nouveau fichier
    rem ----------------------------------------------------------------------
    dim args1(2) as new com.sun.star.beans.PropertyValue
 
    args1(0).Name = "URL"
    args1(0).Value = "file:/Macintosh HD/Utilisateurs/Patrick/clients/????" & MonTxt & ".ods"         
    args1(1).Name = "FilterName"
    args1(1).Value = "calc8"
    args1(2).Name = "SelectionOnly"
    args1(2).Value = true
 
    dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())