Macro inlocuire siruri
Macro inlocuire siruri
Am un paragraf care este variabil, textul variaza de la caz la caz,
ex:
Catre SC gugon SRL , cu sediul in ...
sau
Impreuna cu SC Monis com SRL si altele vom face ....,
dupa cum se observa SC si SRL sunt constante restul se schimba.
Intrebare:
Cum fac replace textului dintre SC si SRL?
Multumesc.
ex:
Catre SC gugon SRL , cu sediul in ...
sau
Impreuna cu SC Monis com SRL si altele vom face ....,
dupa cum se observa SC si SRL sunt constante restul se schimba.
Intrebare:
Cum fac replace textului dintre SC si SRL?
Multumesc.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Macro inlocuire siruri
Poti incerca urmatorul macro:
Cod: Selectaţi tot
Sub InlocuireSocietate()
With ActiveDocument.Range.Find
.ClearFormatting
.MatchWildcards = True
.Text = "<(SC) * (SRL)>"
.Replacement.Text = "SC ITLearning SRL"
.Execute Replace:=wdReplaceAll
End With
End Sub
Re: Macro inlocuire siruri
Mii de multumiri.
Nu am cuvinte sa-mi exprim bucuria.
Nu am cuvinte sa-mi exprim bucuria.
Re: Macro inlocuire siruri
In acest caz se va selecta inclusiv SC si SRL.
Exista posibilitatea ca acestea sa fie ignorate si sa se selecteze doar continutul sirului dintre ele?
Exista posibilitatea ca acestea sa fie ignorate si sa se selecteze doar continutul sirului dintre ele?
Re: Macro inlocuire siruri
Am facut o combinatie cu procedura de mai sus si a iesit asta:
Ceva mai simplu este?
Cod: Selectaţi tot
Public Function SAtext5()
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
With Selection.Find
.Text = "SC"
.Forward = True
.Wrap = wdFindContinue
.MatchCase = True
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.Find.ClearFormatting
With Selection.Find
.Text = "<*(SRL)>"
.Forward = True
.Wrap = wdFindContinue
.MatchCase = True
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=4, Extend:=wdExtend
End Function
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Macro inlocuire siruri
Da... exemplul initial...ccirtina scrie:Ceva mai simplu este?
Ce te impiedica sa inlocuiesti numele firmei cu tot cu SC si SRL?... chiar daca mai trebuie pus si prefixul SC si sufixul SRL?...
Re: Macro inlocuire siruri
Si atata timp cat inlocuirea o face un macro, nu un om, ce importanta are ca e mai simplu sau mai complicat ? Diferenta in timp de executie intre cele 2 variante este nesemnificativa.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Macro inlocuire siruri
Corect smcsa- atata timp cat operatiunea este automatizata conteaza mai putin daca exista "ceva mai simplu"... ci doar sa rezolve problema intr-un timp "rezonabil" dar si codul sa fie usor de intretinut.
@ccirtina, din acest motiv "ceva mai simplu" depinde foare mult si din ce punct de vedere privesti:
- eu l-am privit doar din prisma "lungimii codului" pentru ca daca este prea "lung" atunci te poti incurca in el in momentul in care vrei sa mai modifici ceva
- un alt punct de vedere poate fi cel al vitezei de executie dar cum a mentionat si smcsa diferenta de viteza nu este semnificativa decat daca faci 1.000.000 de inlocuiri intr-un text dar altfel nu cred ca are rost sa te chinui... ambele coduri sunt bune daca iti rezolva problema (chiar daca al tau este putin "mai lung").
@ccirtina, din acest motiv "ceva mai simplu" depinde foare mult si din ce punct de vedere privesti:
- eu l-am privit doar din prisma "lungimii codului" pentru ca daca este prea "lung" atunci te poti incurca in el in momentul in care vrei sa mai modifici ceva
- un alt punct de vedere poate fi cel al vitezei de executie dar cum a mentionat si smcsa diferenta de viteza nu este semnificativa decat daca faci 1.000.000 de inlocuiri intr-un text dar altfel nu cred ca are rost sa te chinui... ambele coduri sunt bune daca iti rezolva problema (chiar daca al tau este putin "mai lung").
Re: Macro inlocuire siruri
Acum, mai poate interveni Ego-ul programatorului Oricum, fiind VBA, l-am mutat la sectiunea corespunzatoare
Re: Macro inlocuire siruri
Si eu tot din punct de vedere al lungimii ma gandeam, pentru ca in momentul in care le voi combina lungimea codului va fi foarte mare, am reusit sa le mai compresez un pic si parca este ceva mai descurcat(am facut sectiuni de coduri pe care le-am inlocuit, cam asa: Application.Run MacroName:="c1", Application.Run MacroName:="c2", etc..)lucian scrie:Corect smcsa- atata timp cat operatiunea este automatizata conteaza mai putin daca exista "ceva mai simplu"... ci doar sa rezolve problema intr-un timp "rezonabil" dar si codul sa fie usor de intretinut.
@ccirtina, din acest motiv "ceva mai simplu" depinde foare mult si din ce punct de vedere privesti:
- eu l-am privit doar din prisma "lungimii codului" pentru ca daca este prea "lung" atunci te poti incurca in el in momentul in care vrei sa mai modifici ceva
- un alt punct de vedere poate fi cel al vitezei de executie dar cum a mentionat si smcsa diferenta de viteza nu este semnificativa decat daca faci 1.000.000 de inlocuiri intr-un text dar altfel nu cred ca are rost sa te chinui... ambele coduri sunt bune daca iti rezolva problema (chiar daca al tau este putin "mai lung").
Va multumesc pentru ajutor.