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 :

Modifier une couleur de texte via une macro [LibreOffice][Texte]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Modifier une couleur de texte via une macro
    bonjour

    libre office writer Version: 4.2.4.2

    j'essaie de réaliser un macro qui change la couleur de mes caractères écrits en rouge dans mon texte en couleur bleu

    j'ai enregistrer une macro qui fonctionne à l'enregistrement mais qui ne fonctionne plus ensuite:

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    sub rougebleue
    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(18) as new com.sun.star.beans.PropertyValue
    args1(0).Name = "SearchItem.StyleFamily"
    args1(0).Value = 2
    args1(1).Name = "SearchItem.CellType"
    args1(1).Value = 0
    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 = ""
    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 = 0
    args1(18).Name = "Quiet"
    args1(18).Value = true
     
    dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
     
    rem ----------------------------------------------------------------------
    dim args2(18) as new com.sun.star.beans.PropertyValue
    args2(0).Name = "SearchItem.StyleFamily"
    args2(0).Value = 2
    args2(1).Name = "SearchItem.CellType"
    args2(1).Value = 0
    args2(2).Name = "SearchItem.RowDirection"
    args2(2).Value = true
    args2(3).Name = "SearchItem.AllTables"
    args2(3).Value = false
    args2(4).Name = "SearchItem.Backward"
    args2(4).Value = false
    args2(5).Name = "SearchItem.Pattern"
    args2(5).Value = false
    args2(6).Name = "SearchItem.Content"
    args2(6).Value = false
    args2(7).Name = "SearchItem.AsianOptions"
    args2(7).Value = false
    args2(8).Name = "SearchItem.AlgorithmType"
    args2(8).Value = 0
    args2(9).Name = "SearchItem.SearchFlags"
    args2(9).Value = 65536
    args2(10).Name = "SearchItem.SearchString"
    args2(10).Value = ""
    args2(11).Name = "SearchItem.ReplaceString"
    args2(11).Value = ""
    args2(12).Name = "SearchItem.Locale"
    args2(12).Value = 255
    args2(13).Name = "SearchItem.ChangedChars"
    args2(13).Value = 2
    args2(14).Name = "SearchItem.DeletedChars"
    args2(14).Value = 2
    args2(15).Name = "SearchItem.InsertedChars"
    args2(15).Value = 2
    args2(16).Name = "SearchItem.TransliterateFlags"
    args2(16).Value = 1280
    args2(17).Name = "SearchItem.Command"
    args2(17).Value = 2
    args2(18).Name = "Quiet"
    args2(18).Value = true
     
    dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args2())
     
     
    end sub
    Pouvez vous m'aider SVP ?

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Bonjour,

    Voici quelques lignes qui devrait pouvoir de donner des pistes pour faire ce que tu veux :
    Code vb : 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
    sub zoom61()
     Dim monDocument As Object, monTexte As Object
     Dim monCurseur As Object
     
        monDocument = ThisComponent
        monTexte = monDocument.Text
        monCurseur = monTexte.createTextCursor
        monCurseur.gotoNextParagraph(False)
        monCurseur.gotoNextParagraph(False)
     
        'Permet de connaitre la couleur    
        monCurseur.gotoNextParagraph(True)
        MsgBox monCurseur.charColor
     
         'Permet d'affecter un style de caractère
        monCurseur.gotoEndOfWord(true)
        monCurseur.CharStyleName = "zoom61"
     
    end sub

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    merci je vais regarder ça

  4. #4
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut résultat
    bonjour

    Merci à zoom61, j'ai trouvé une solution en m'aidant également de Alex Savitsky & Laurent Godard.

    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
    Sub Rougebleu
    'code original : Alex Savitsky
    'modifié par : Laurent Godard (et petit peu moi)
     
    Dim oDocument As Object
    Dim oReplace As Object
    Dim SrchAttributes(0) as new com.sun.star.beans.PropertyValue
    Dim ReplAttributes(0) as new com.sun.star.beans.PropertyValue
     
    oDocument = ThisComponent
    oReplace = oDocument.createReplaceDescriptor
    oReplace.SearchString = ".*" 'Expression régulière. Prendre tous les caractères
    oReplace.SearchRegularExpression=True 'Utiliser les expressions régulières
    oReplace.searchStyles=True ' Nous voulons rechercher dans les styles
    oReplace.searchAll=True ' Pour tout le document
    REM Voilà l'attribut à trouver
    SrchAttributes(0).Name = "CharColor"
    SrchAttributes(0).Value = 16711680
    REM Voilà l'attribut par lequel remplacer le premier
    ReplAttributes(0).Name = "CharColor"
    ReplAttributes(0).Value = 255
     
    REM Place les attributs dans le descripteur de remplacement
    oReplace.SetSearchAttributes(SrchAttributes())
    oReplace.SetReplaceAttributes(ReplAttributes())
    REM Allez au boulot !
    oDocument.replaceAll(oReplace)
    End Sub

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

Discussions similaires

  1. [XL-2007] Modifier la couleur de texte d'une cellule sous condition
    Par LoInd dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/07/2012, 13h32
  2. Modifier la couleur du texte dans une QMessageBox
    Par ArnaudFu1 dans le forum Débuter
    Réponses: 4
    Dernier message: 12/01/2012, 22h37
  3. Réponses: 3
    Dernier message: 22/08/2010, 17h40
  4. Modifier la couleur du texte dans une cellule StringGrid
    Par Jotomaticen dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/09/2009, 22h42
  5. Modifier la couleur du texte d'une cellule d'un tableviewer.
    Par tatemilio2 dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 27/06/2008, 08h28

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