Bonjour,
J'ai les deux fonctions ci-dessous.
Je voudrais pouvoir passer en paramètre, une feuille du document et les autres paramètres nécessaires.
Le seul problème est que pour pouvoir exécuter ces fonctions il faut que j'utilise:
- ThisComponent.CurrentController
A la place de ThisComponent.CurrentController , j'ai essayé de passer une feuille en tant qu'objet en faisant comme ceci:
Pour la fonction de tri: document = Feuille (en tant qu'objet)
Pour la fonction d'enregistrement: document = Feuille (en tant qu'objet)
Mais ca n'a pas fonctionné.
Est-ce que quelqu'un sait comment faire pour remplacer ThisComponent.CurrentController par la feuille que je désire?
Fonction de trie de la feuille active. Je voudrais pouvoir trier une feuille sans avoir à lactiver.
Fonction de sauvegarde de la feuille "NonFeuille". Je voudrais éviter d'avoir à activer la feuille pour la sauvegarde.
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
31 sub tri (colonne as integer) rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(7) as new com.sun.star.beans.PropertyValue args1(0).Name = "ByRows" args1(0).Value = true args1(1).Name = "HasHeader" args1(1).Value = true args1(2).Name = "CaseSensitive" args1(2).Value = false args1(3).Name = "NaturalSort" args1(3).Value = false args1(4).Name = "IncludeAttribs" args1(4).Value = true args1(5).Name = "UserDefIndex" args1(5).Value = 0 args1(6).Name = "Col1" args1(6).Value = colonne args1(7).Name = "Ascending1" args1(7).Value = true dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args1()) end sub
Cordialement,
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 sub EnregistrementFichier (SaveFile as string, NomFeuille as object, FeuilleOrigine as object) rem ---------------------------------------------------------------------- rem define variables dim document as object 'dim dispatcher as object Dim sURL as string rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent ThisComponent.CurrentController.ActiveSheet = NomFeuille sURL = ConvertToURL(SaveFile) rem ---------------------------------------------------------------------- dim args1(1) as new com.sun.star.beans.PropertyValue args1(0).Name = "FilterName" args1(0).Value = "Text - txt - csv (StarCalc)" args1(1).Name = "FilterOptions" args1(1).Value = "59,34,76,1,,0,false,true,true" document.storeToURL(sURL, args1) ThisComponent.CurrentController.ActiveSheet = FeuilleOrigine end sub
Vandman
Partager