IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

[Macro] Utilisation de RegExp [OpenOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut [Macro] Utilisation de RegExp
    Hello,

    Je suis tout novice en Macro OpenOffice, et j'avoue que j'ai pas mal de mal à savoir ce qui est possible...

    Voila, j'aimerai savoir si il est possible d'utiliser des expressions régulière...Voila une fonction qui ne fonctionne pas, mais c'est juste pour avoir un appercu de mes besoins

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Function Check_phone (phone As String) As Boolean
     
    	Set reg = New RegExp
    	reg.Pattern = "^+?\d{6,10}$"
     
    	Check_Mail = reg.Test(phone)
     
    End Function
    Merci

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Si tu es novice, tu t'engages peut être dans quelque chose de compliqué.
    Ce sujet en parle : http://user.services.openoffice.org/...opic12092.html

    Bon courage
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  3. #3
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    Merci pour le lien fort utile...

    Donc j'ai pu avancé...
    J'ai fait deux fonctions, mais hélas, je ne sais pas comment les appeler dans ma procédure principale...Cela ne fonctionne pas...

    De plus, juste une remarque...les fonctions seules ne compile pas non plus...J'ai l'impression qu'il ne tolere pas les variables de mes fonctions puiqu'elles ne sont instanciés qu'a l'appel de ces fonctions...

    J'espere que qqn pourra m'aider....

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    Sub Essai()
     
    Dim int1,int2 As Integer
    int1 = Check_Phone ("00006644")
    int2 = Check_Mail ("mail@mail.fr") 
     
    End Sub
     
    Function Check_Phone (phone As String) As Integer
     
    	Dim oTextSearch as Object
    	Dim oSearchOpts as Object
    	Dim oResult as Object
     
    	oTextSearch = createUnoService("com.sun.star.util.TextSearch")
    	oSearchOpts = CreateUnoStruct("com.sun.star.util.SearchOptions")
    	oSearchOpts.algorithmType = com.sun.star.util.SearchAlgorithms.REGEXP
    	oSearchOpts.searchFlag = com.sun.star.util.SearchFlags.REG_NOSUB
    	  ' REG_NOSUB est le flag pour que ça renvoie juste vrai ou faux,
    	  ' REG_EXTENDED permettrait d'avoir plus d'infos
    	oSearchOpts.searchString = "^+?\d{6,10}$"
    	oTextSearch.setOptions(oSearchOpts)
     
    	oResult = oTextSearch.searchForward( phone, 0, Len(phone) )
     
    	Check_Phone = oResult.subRegExpressions
     
    End Function
     
     
    Function Check_Mail (mail As String) As Integer
     
    	Dim oTextSearch as Object
    	Dim oSearchOpts as Object
    	Dim oResult as Object
     
    	oTextSearch = createUnoService("com.sun.star.util.TextSearch")
    	oSearchOpts = CreateUnoStruct("com.sun.star.util.SearchOptions")
    	oSearchOpts.algorithmType = com.sun.star.util.SearchAlgorithms.REGEXP
    	oSearchOpts.searchFlag = com.sun.star.util.SearchFlags.REG_NOSUB
    	  ' REG_NOSUB est le flag pour que ça renvoie juste vrai ou faux,
    	  ' REG_EXTENDED permettrait d'avoir plus d'infos
    	oSearchOpts.searchString = "@"
    	oTextSearch.setOptions(oSearchOpts)
     
    	oResult = oTextSearch.searchForward( mail, 0, Len(mail) )
     
    	Check_Mail = oResult.subRegExpressions
     
    End Function

  4. #4
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    Bon ben c bon, j'ai réussi...
    J'avoue que je ne sais pas comment...Mais ça fonctionne très bien...

    Je mets le post en résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA Macro utilisable dans un dossier ciblé / Bouton personnalisé
    Par pythagore3_14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/07/2008, 08h35
  2. macros utilisant des boucles imbriquées et sql :
    Par nostress dans le forum Macro
    Réponses: 10
    Dernier message: 22/05/2008, 17h08
  3. [VBA-E] Macro utilisant la sélection active
    Par vectorw16 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/03/2007, 20h15
  4. [Tableaux] Utiliser un regexp ou non ?
    Par renaud26 dans le forum Langage
    Réponses: 4
    Dernier message: 18/07/2006, 13h35
  5. Macro utilisant une macro...
    Par Gogoye dans le forum C
    Réponses: 2
    Dernier message: 29/10/2003, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo