Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Convertir macro de WordBasic

3 réponses
Avatar
Marie-Michel
Bonjour,

Comment pourrais-je faire la même macro que la suivante mais en Visual Basic
plutôt que WordBasic:

Public Sub AugmenterRetraitDouble()

Dim Tab_$
Dim a$
Dim b$
On Error GoTo -1: On Error GoTo Fin
Dim Tabs As Object: Set Tabs = WordBasic.DialogRecord.FormatTabs(False)
WordBasic.CurValues.FormatTabs Tabs
Tab_$ = Tabs.DefTabs
Dim dlg As Object: Set dlg = WordBasic.DialogRecord.FormatParagraph(False)
WordBasic.CurValues.FormatParagraph dlg
a$ = Str(WordBasic.Val(dlg.LeftIndent) + WordBasic.Val(Tab_$))
b$ = Str(WordBasic.Val(dlg.RightIndent) + WordBasic.Val(Tab_$))
WordBasic.FormatParagraph LeftIndent:=a$, RightIndent:=b$
Fin:

End Sub

Merci :o)

3 réponses

Avatar
Geo
Bonjour Marie-Michel


Bonjour,

Comment pourrais-je faire la même macro que la suivante mais en
Visual Basic plutôt que WordBasic:


Pourquoi veux-tu la traduire ?
Elle ne marche pas en vba ?
ou une autre raison ?

--

A+

Avatar
Anacoluthe
Bonjour !

'Marie-Michel' nous a écrit ...
Comment pourrais-je faire la même macro que la suivante mais en
Visual Basic

plutôt que WordBasic:

Public Sub AugmenterRetraitDouble()

Dim Tab_$
Dim a$
Dim b$
On Error GoTo -1: On Error GoTo Fin
Dim Tabs As Object: Set Tabs = WordBasic.DialogRecord.FormatTabs(False)
WordBasic.CurValues.FormatTabs Tabs
Tab_$ = Tabs.DefTabs
Dim dlg As Object: Set dlg = WordBasic.DialogRecord.FormatParagraph(False)
WordBasic.CurValues.FormatParagraph dlg
a$ = Str(WordBasic.Val(dlg.LeftIndent) + WordBasic.Val(Tab_$))
b$ = Str(WordBasic.Val(dlg.RightIndent) + WordBasic.Val(Tab_$))
WordBasic.FormatParagraph LeftIndent:=a$, RightIndent:=b$
Fin:

End Sub


:-) Geo a raison : cette macro marche bien !

Elle augmente le retrait tant gauche que droit de la valeur par défaut.
La gestion d'erreur y semble assez superfétatoire puisqu'il n'est
fait appel à aucune variable externe.

En vba ça s'écrirait plus simplement :

Public Sub AugmenterRetraitGaucheDroite()
With Selection.ParagraphFormat
.LeftIndent = .LeftIndent + ActiveDocument.DefaultTabStop
.RightIndent = .RightIndent + ActiveDocument.DefaultTabStop
End With
End Sub

ça vous plaît mieux ? :-)

Anacoluthe
« En art, j'aime la simplicité. »
- Erik SATIE

Avatar
Marie-Michel
Bonjour,

A Geo: Je voulais la traduire parce que je savais qu'il existait une manière
plus simple de dire ce que cette macro disait à l'origine mais, comme j'ai
appris beaucoup «sur le tas», je ne connais pas toujours le bon vocabulaire à
utiliser.

A Anacoluthe: Merci. Je l'essaie de suite... :o)

"Anacoluthe" wrote:

Bonjour !

'Marie-Michel' nous a écrit ...
Comment pourrais-je faire la même macro que la suivante mais en
Visual Basic

plutôt que WordBasic:

Public Sub AugmenterRetraitDouble()

Dim Tab_$
Dim a$
Dim b$
On Error GoTo -1: On Error GoTo Fin
Dim Tabs As Object: Set Tabs = WordBasic.DialogRecord.FormatTabs(False)
WordBasic.CurValues.FormatTabs Tabs
Tab_$ = Tabs.DefTabs
Dim dlg As Object: Set dlg = WordBasic.DialogRecord.FormatParagraph(False)
WordBasic.CurValues.FormatParagraph dlg
a$ = Str(WordBasic.Val(dlg.LeftIndent) + WordBasic.Val(Tab_$))
b$ = Str(WordBasic.Val(dlg.RightIndent) + WordBasic.Val(Tab_$))
WordBasic.FormatParagraph LeftIndent:=a$, RightIndent:=b$
Fin:

End Sub


:-) Geo a raison : cette macro marche bien !

Elle augmente le retrait tant gauche que droit de la valeur par défaut.
La gestion d'erreur y semble assez superfétatoire puisqu'il n'est
fait appel à aucune variable externe.

En vba ça s'écrirait plus simplement :

Public Sub AugmenterRetraitGaucheDroite()
With Selection.ParagraphFormat
.LeftIndent = .LeftIndent + ActiveDocument.DefaultTabStop
.RightIndent = .RightIndent + ActiveDocument.DefaultTabStop
End With
End Sub

ça vous plaît mieux ? :-)

Anacoluthe
« En art, j'aime la simplicité. »
- Erik SATIE