Centrare caractere

Apostolu
Mesaje: 285
Membru din: Joi Aug 20, 2009 4:05 pm

Re: Centrare caractere

Mesaj de Apostolu » Lun Feb 03, 2014 2:02 pm

Rezultatul rularii este atasat
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Dr.Word
Moderator
Moderator
Mesaje: 34
Membru din: Lun Sep 05, 2011 7:17 pm

Re: Centrare caractere

Mesaj de Dr.Word » Lun Feb 03, 2014 2:19 pm

E bine pana acum. Mai trebuie sa modificam stilul Heading 1. Trebuie neaparat sa aveti o linie noua, sau e suficient sa introduceti o spatiere?
Dr. Word
MCT, MCTS
MOS Master Instructor
ITLearning

Apostolu
Mesaje: 285
Membru din: Joi Aug 20, 2009 4:05 pm

Re: Centrare caractere

Mesaj de Apostolu » Lun Feb 03, 2014 3:31 pm

Deasupra la Capitol si dupa descriere, trebuie linie noua.

Dr.Word
Moderator
Moderator
Mesaje: 34
Membru din: Lun Sep 05, 2011 7:17 pm

Re: Centrare caractere

Mesaj de Dr.Word » Mar Feb 04, 2014 3:23 pm

Cam atat am reusit sa fac.
Rulati codul pe textul original si-mi spuneti si mie daca le-a clasificat pe doua nivele. Pentru spatiere puteti modifica stilurile Heading 1 si heading 2 sa arate excet cum va doriti. Sa fie centrate, cu spatiu inainte sau dupa...

Cod: Selectaţi tot

Sub findCapitol2()
'
'dr.word
'
'
Dim i As Integer


    Selection.Find.ClearFormatting
    Selection.Find.Style = ActiveDocument.Styles("Normal")
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Style = ActiveDocument.Styles("Heading 1")
    With Selection.Find
        .Text = "SEC?IUNEA"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
       
    End With
 
    Selection.Find.Execute Replace:=wdReplaceAll

For i = 1 To ActiveDocument.Paragraphs.Count
If ActiveDocument.Paragraphs(i).Style = "Heading 1" Then

ActiveDocument.Paragraphs(i + 1).Style = "Heading 2"

End If
Next i
End Sub
Dr. Word
MCT, MCTS
MOS Master Instructor
ITLearning

Apostolu
Mesaje: 285
Membru din: Joi Aug 20, 2009 4:05 pm

Re: Centrare caractere

Mesaj de Apostolu » Mar Feb 04, 2014 4:04 pm

Boffff.....

Nu imi este de nici un ajutor !
Adica mai mult ma complic si nici nu imi permite caractere speciale.

Macro asta al meu, macar imi arata clar unde sa ma duc si sa termin de mana ce mai trebuie facut. :)

Sub Titluri_Capitole_Articole()

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Chr(13) + "SEC" + ChrW(354) + "IUNEA "
.Replacement.Text = Chr(13) + "^p" + "SEC" + ChrW(354) + "IUNEA "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
.......
End Sub

Punte, puncte inseamna ca l-am mai pus de x ori si am inlocuit "sectiunrea" cu Capitol, Titlu, Articol etc.

DR.ACCESS
Moderator
Moderator
Mesaje: 300
Membru din: Lun Sep 05, 2011 5:06 pm

Re: Centrare caractere

Mesaj de DR.ACCESS » Mar Feb 04, 2014 4:36 pm

De ce va trebuie neaparat un paragraf nou inainte si dupa titluri?
Nu obtineti acelasi rezultat si asa?

Cod: Selectaţi tot


Sub findCapitol2()
'
'dr.access
'
'
Dim i As Integer


    Selection.Find.ClearFormatting
    Selection.Find.Style = ActiveDocument.Styles("Normal")
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Style = ActiveDocument.Styles("Heading 1")
    With Selection.Find
        .Text = "SEC?IUNEA"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
       
    End With
 
    Selection.Find.Execute Replace:=wdReplaceAll

For i = 1 To ActiveDocument.Paragraphs.Count
If ActiveDocument.Paragraphs(i).Style = "Heading 1" Then

ActiveDocument.Paragraphs(i + 1).Style = "Heading 2"

End If
Next i
With ActiveDocument.Styles("Heading 1").ParagraphFormat
        .LeftIndent = CentimetersToPoints(0)
        .RightIndent = CentimetersToPoints(0)
        .SpaceBefore = 12
        .SpaceBeforeAuto = False
        .SpaceAfter = 12
        .SpaceAfterAuto = False
        .LineSpacingRule = wdLineSpaceSingle
        .Alignment = wdAlignParagraphCenter
      End With
    
    With ActiveDocument.Styles("Heading 1")
        .AutomaticallyUpdate = False
        .BaseStyle = "Normal"
        .NextParagraphStyle = "Normal"
    End With
    
    With ActiveDocument.Styles("Heading 2").ParagraphFormat
        .LeftIndent = CentimetersToPoints(0)
        .RightIndent = CentimetersToPoints(0)
        .SpaceBefore = 12
        .SpaceBeforeAuto = False
        .SpaceAfter = 12
        .SpaceAfterAuto = False
        .LineSpacingRule = wdLineSpaceSingle
        .Alignment = wdAlignParagraphCenter
      End With
    
    With ActiveDocument.Styles("Heading 2")
        .AutomaticallyUpdate = False
        .BaseStyle = "Normal"
        .NextParagraphStyle = "Normal"
    End With

End Sub
Eu prefer intotdeauna sa lucrez cu stiluri de paragraf. Indiferent de versiune. E foarte usor apoi sa inserezi un cuprins, sa selectezi doar un anumit nivel si sa-i aplici un alt format. Inserarea de paragrafe inainte si dupa titlu, cu ce va ajuta?
D. Tanase
MCT, MCTS
MOS Master Instructor

Apostolu
Mesaje: 285
Membru din: Joi Aug 20, 2009 4:05 pm

Re: Centrare caractere

Mesaj de Apostolu » Mar Feb 04, 2014 5:03 pm

Dragul meu,
Este foarte simplu.
Sunt arhitect si am 63 de ani ! :lol:
Nu am folosit niciodata, pentru ca efectiv nu am nevoie, stiluiri sau spacingul din "pargraf".
In plus, am deja atatea macro (pentru 3 din ele am atins limita acceptata de Word si le apelez pe rand cu "call", iar pe restul separat), ca am probleme sa le gestionez cu bruma de VB pe care o stiu.
Orice iesire din "tipar", este clar ca o sa-mi creeze mari probleme, intrucat eu "inventez" o noua chestie in VB de ... 2 ori pe an.
Adica .... degeaba exista o bruma de logica, daca nu exista exercitiu zilnic.
Si iar .. in plus, tot ce lucrez in Word, export in html.
Efectiv nu stiu ce inseamna exportul stilurilor din Word in html si mi-e frica ca o sa se intample minuni.
Html-urile mele avand o forma "rigida" din care nu trebuie sa ies.
Si asa baga Wordul cod din 3 in 3 cuvinte la export si imi face un fisier html de 100 de ori mai mare decat daca l-as face eu in Notpad. :)

Sper ca nu te superi, dar l-am rugat pe domnului Bogdan Tarla, pe Messenger, sa ne dea o mana de ajutor.
Stie domnia sa, cum ma revansez eu, de ani de zile. :)

DR.ACCESS
Moderator
Moderator
Mesaje: 300
Membru din: Lun Sep 05, 2011 5:06 pm

Re: Centrare caractere

Mesaj de DR.ACCESS » Mar Feb 04, 2014 7:26 pm

Apostolu scrie:Dragul meu,)
Multumesc, ma simt chiar magulita. Eu sunt Diana si am 41 de ani.
Din cate vedeti, nimeni nu-i perfect!
.. in plus, tot ce lucrez in Word, export in html.
Ei, aceasta e o informatie vitala!
Si cand ma gandesc pe unde v-am plimbat!
D. Tanase
MCT, MCTS
MOS Master Instructor

Apostolu
Mesaje: 285
Membru din: Joi Aug 20, 2009 4:05 pm

Re: Centrare caractere

Mesaj de Apostolu » Mar Feb 04, 2014 9:39 pm

Buna seara Doamna Diana,

Imi cer scuze de confuzia sexologica, dar chiar nu aveam de unde sa stiu.
Altfel, orice domn de varsta mea abia asteapta sa fie plimbat de o doamna ! :)

Apostolu
Mesaje: 285
Membru din: Joi Aug 20, 2009 4:05 pm

Re: Centrare caractere

Mesaj de Apostolu » Vin Feb 07, 2014 1:01 pm

Ok.
Domnul Bogdan Tarla zice ca nu stie. :)
Mai incercam s-o rezolvam cumva ?

Închis

Înapoi la “Visual Basic for Application (VBA) - Intrebari tehnice”