dijous, 14 de febrer del 2008

Macro de Visual Basic

Una mà grossa al mig de la plaça de la Mare de Déu
He estat tota la setmana embolicat fent una macro que em resolguera la importació de la terminologia oberta del Termcat a un format assimilable del WordPress. Això m'ha fet reviscolar les convencions del Wordbasic i assimilar-ne algunes de Visual Basic, dos llenguatges que no he acabat mai de practicar correctament. Vaig fent artesanalment, però, i tinc la mà unflada de tant de teclejar.

Per exemple, la descoberta més grossa ha segut aconseguir que el Visual Basic fera un bucle que tinguera un punt d'escapament. La solució apareixia en una pàgina molt interessant per a estes coses (Word-VBA Code Samples) que m'ha resolt la qüestió. Vet ací una «meravella» (dins del meu estil barroer):


Dim NÚMERO
Dim Número_$
On Error GoTo -1: On Error GoTo eixir
NÚMERO = 144
On Error GoTo -1: On Error GoTo eixir

NÚMERO:
Do Until ActiveDocument.Bookmarks("\Sel") = _
ActiveDocument.Bookmarks("\EndOfDoc")
NÚMERO = NÚMERO + 1
Selection.Find.ClearFormatting
With Selection.Find
.Text = "1<"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute

If Selection.Find.Found = True Then
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.TypeBackspace
Número_$ = WordBasic.[LTrim$](Str(NÚMERO))
WordBasic.Insert Número_$
Else
Exit Do
End If
Loop
GoTo eixir

eixir:
WordBasic.MsgBox "C'est fini!", "Vaig dir", 16


Amb això, la macro canvia el número u (en el context «1<») pel número corresponent d'ordre del començament al final del document (he fet que comence amb el 145). Una obvietat per a molts, però, per a mi, una necessitat que no sabia com resoldre. Fins que he trobat el Zawawi, una referència per al futur, perquè supose que hauré de continuar amb les macros de Word, almenys mentres l'Open Office no done les mateixes facilitats de configuració.

Finalment, com podeu observar, vaig canviar el disseny del bloc fa uns dies (si no recorde malament, dilluns 11 de febrer del 2008). He posat per a arribar-hi una imatge que trobe molt agradable, que correspon al món que es veu des d'un lloc de la Bretanya que denominen la butte de César en francés (i no sé si tumiac en bretó).

2 comentaris:

  1. Millora molt l'aspecte aquesta imatge. Transmet molta més pau i espiritualitat. :-)

    A més, no se sobreposa al text com passava amb l'altra fotografia (al menys en Firefox). Sí, ja ho sé, ara que hi penso, t'ho hauria d'haver dit abans, oi? Disculpes!

    Víctor Pàmies

    [Raons que rimen]

    ResponElimina
  2. Hola, Víctor:

    M'alegre que arribeu en pau a estes pàgines renovades. La sobreposició anterior era permesa i consentida per mi mateix --que use més Firefox que Internet Explorer-- perquè havia decidit que la imatge inicia quedara en segon terme, fins i tot desplaçada.

    Moltes gràcies pel comentari, encara que siga d'un «títol» pòstum.

    ResponElimina