Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Word] Macro per taggare gli attributi di testo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Word] Macro per taggare gli attributi di testo

Postdi albertomineo » 10/11/09 19:16

Ciao a tutti,

mi capita spesso nel mio lavoro di dover salvare in txt documenti word senza però perdere gli attributi del testo. Sto quindi cercando di fare una macro che, ad esempio, mi metta un simbolo all'inizio di ogni selezione in grassetto e un simbolo diverso alla fine della selezione, così quando reimporto in word mi ritrasformo i tag e ho di nuovo grassetti, sottolieature e corsivi. Non riesco però ad andare oltre al taggare ogni singola parola in grassetto.
Il codice che uso è questo:

Selection.Find.Replacement.ClearFormatting
Selection.Find.Font.Bold = True
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Selection.Find.Execute
End With
While Selection.Find.Found
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.TypeText Text:="<b>"
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.TypeText Text:="</b>"
Selection.Find.Execute
Wend
End Sub

Ho dato fondo a tutte le mie scarse capacità di programmatore, ho anche provato ad adattare routine che ho trovato in rete ma non sono riuscito a farne funzionare nessuna, se qualcuno mi dà una mano...

grazie mille
alberto
albertomineo
Newbie
 
Post: 3
Iscritto il: 10/11/09 18:25

Sponsor
 

Re: [Word] Macro per taggare gli attributi di testo

Postdi albertomineo » 13/11/09 12:45

Ciao a tutti,

visto che nessuno mi rispondeva ho pensato che forse voleva dire "fai un altro po' di lavoro da solo" e l'ho fatto.

Adesso la mia opera d'arte è questa:

Selection.Find.Replacement.ClearFormatting
Selection.Find.Font.Bold = True
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Selection.Find.Execute
End With
While Selection.Find.Found
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.TypeText Text:="<b>"
Do Until (Selection.Font.Bold = False)
Selection.MoveRight Unit:=wdWord, Count:=1
Loop
Selection.TypeText Text:="</b>"

Selection.Find.Execute
Wend

End Sub

Però se la frase in grassetto è all'interno di una frase in carattere normale la macro va in tilt.

Grazie ancora
alberto
albertomineo
Newbie
 
Post: 3
Iscritto il: 10/11/09 18:25

Re: [Word] Macro per taggare gli attributi di testo

Postdi Anthony47 » 13/11/09 17:44

Personalmente non ho una grande esperienza col vba di word quindi non sono in grado di aiutare nel problema posto, ma almeno un benvenuto te lo dobbiamo; quindi "Benvenuto nel forum"

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Word] Macro per taggare gli attributi di testo

Postdi albertomineo » 18/11/09 15:42

Grazie Anthony,

un benvenuto fa sempre piacere... Mi spiace non possiate aiutarmi ma solitamente, quando non trovo un aiuto, è perché in realtà sto cercando una scorciatoia e non ho realmente tentato tutto.
Quindi torno al lavoro...

alberto
albertomineo
Newbie
 
Post: 3
Iscritto il: 10/11/09 18:25


Torna a Applicazioni Office Windows


Topic correlati a "[Word] Macro per taggare gli attributi di testo":


Chi c’è in linea

Visitano il forum: Zer0Kelvin e 14 ospiti