• [^] # Re: racourci clavier

    Posté par . En réponse à la dépêche Sortie d'OpenOffice.org 1.1.2. Évalué à 7.

    Tu peux regarder du côté de http://www.ooomacros.org/user.php#98242(...) pour avoir une macro qui peut insérer un caractère ou changer un style. Il faut ensuite créer autant de macros qu'on veut de raccourcis et assigner chaque macro au raccourci de son choix.

    Pour faire ce que tu décris, en changeant le niveau avec des raccourcis, j'ai développé deux macros : la première augmente le niveau (passe de Heading 1 à Heading 2) et l'autre descend le niveau (Heading 2 à Heading 1)

    Les voici :


    REM Fait passer le style de paragraphe de Heading n à Heading n+1
    Sub IncreaseHeadingLevel

    Dim oDocument As Object
    Dim oText As Object
    Dim oVCurseur As Object, oCurseur As Object
    Dim sStyle As String
    Dim sStyleType As String, nHeadingLevel As Integer

    ' Récupère le document actif
    oDocument = ThisComponent
    oText = oDocument.Text

    ' Récupère le curseur visible
    oVCurseur = oDocument.currentcontroller.getViewCursor()
    ' Crée un curseur d'écriture à partir du curseur visble
    oCurseur = oText.createTextCursorByRange(oVCurseur.getstart())

    ' Récupère le style du paragraphe et récupère la partie gauche
    sStyle = oCurseur.paraStyleName
    sStyleType = Left(sStyle, 8)
    if (sStyleType = "Heading ") then
    ' Récupère le niveau de Titre et l'augmente si possible
    nHeadingLevel = Mid(sStyle, 8)
    if (nHeadingLevel < 10) then
    oCurseur.paraStyleName = sStyleType & (nHeadingLevel + 1)
    endif
    else
    ' Si le style est normal, on applique le style Heading 1
    oCurseur.paraStyleName = "Heading 1"
    endif

    End Sub

    REM Fait passer le style de paragraphe de Heading n à Heading n-1
    Sub DecreaseHeadingLevel

    Dim oDocument As Object
    Dim oText As Object
    Dim oVCurseur As Object, oCurseur As Object
    Dim sStyle As String
    Dim sStyleType As String, nHeadingLevel As Integer

    ' Récupère le document actif
    oDocument = ThisComponent
    oText = oDocument.Text

    ' Récupère le curseur visible
    oVCurseur = oDocument.currentcontroller.getViewCursor()
    ' Crée un curseur d'écriture à partir du curseur visble
    oCurseur = oText.createTextCursorByRange(oVCurseur.getstart())

    ' Récupère le style du paragraphe et récupère la partie gauche
    sStyle = oCurseur.paraStyleName
    sStyleType = Left(sStyle, 8)
    if (sStyleType = "Heading ") then
    ' Récupère le niveau de Titre et l'augmente si possible
    nHeadingLevel = Mid(sStyle, 8)
    if (nHeadingLevel > 1) then
    oCurseur.paraStyleName = sStyleType & (nHeadingLevel - 1)
    endif
    endif

    End Sub


    Tu les assigne à deux touches et tu changes tout à la volée :) Le Navigateur (F5) permet de faire le même genre de chose.

    Note : quand tu donnes un nom de style, celui-ci doit être en anglais.

    J'espère que ça t'aidera ;)