Bonsoir Bernard,
Voici pour exemple et discussion le code produit par l'enregistreur :
sub Main
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(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 2
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 65536
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "Bye"
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 1
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
end sub
Le test effectué à pour vocation de retrouver le terme "Bye" dans les
notes des cellules.
Celà semble OK.
Par contre, et cela me semble très surprenant, après exécution de la
macro, si l'on appelle la recherche par le menu traditionnel cette
dernière est amputée
- de la liste déroulante "Formule, etc",
- des boutons radio pour le paramètrage du sens de la recherche
- et de la case à cocher permettant de préciser l'étendue aux feuilles.
Alors bug ou pas ?
Arrives-tu à reproduire ?
Testé sous XP & OOo 2.0.2
François Gatto
Bernard Marcelly a écrit :
Bonjour Francois Gatto
Message du 2006-04-10 22:08:
Jean-Louis Berliet a écrit :
Dans un programme basic, j'ai besoin de rechercher les cellules d'un
document CALC qui comportent la même note. C'est possible dans
l'interface utilisateur, à l'aide du menu "Editer" > "Rechercher &
Remplacer", puis dans la partie "Autres options", en sélectionnant
"Notes" dans la liste "Rechercher dans".
Je n'arrive pas à trouver l'équivalent en Basic : la fonction
"createSearchDescriptor" ne comporte pas d'option indiquant que la
recherche va être faite sur des notes !
L'enregistreur permet de résoudre ce problème.
Dans le livre Programmation OpenOffice.org le tableau décrivant le
descripteur de recherche indique:
SearchType Integer Propriété inutilisable
Ce paramètre SearchType n'est pas documenté.
Après analyse plus poussée, je conclus que SearchType correspond à
l'option de recherche Où chercher? de l'interface utilisateur. Valeurs
possibles:
0 : chercher dans les formules
1 : chercher dans les valeurs
2 : chercher dans les notes
Pour comprendre le fonctionnement, mettre dans la feuille
a) une cellule avec la valeur 1848
b) une cellule avec le texte : 1848
c) une cellule avec le texte : date 1848
d) une cellule avec la formule =1848+17
e) une cellule avec la formule =1800 +48
f) une cellule avec une note dont le texte est : 1848
g) une cellule avec une note dont le texte est : date 1848
Faire des essais avec SearchString = "1848" , SearchWord = True puis
False, pour chaque valeur de SearchType. Le résultat est parfois
surprenant mais toujours conforme à la recherche par l'interface
utilisateur.
Bernard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]