Centrare caractere

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

Centrare caractere

Mesaj de Apostolu » Dum Feb 02, 2014 11:08 am

Avem un text mare nepaginat, cu capitole.

Manual se poate selecta tot textul si alinia cu un tab la stanga iar apoi trebuie:
^13
Selectat "Capitol" si "descrierea lui"
scos tabul de la ele
centrate si iar
^13

Un Macro care sa faca acest lucru, eu putand sa modific "Capitol I" in "Sectiunea 1", Pargraf 5", ar fi foarte util.

Deci
Gasire "Capitol IV", "Sectiuna 3", ... etc.
Gasire primul rand dupa titlu
Eliminare tab la ele
Introducere ^13 in fata la "Capitol" si dupa randul urmator.
Centrarea acestor 2 randuri.

Credeti ca se poate ?
Multumesc !

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

Re: Centrare caractere

Mesaj de Dr.Word » Dum Feb 02, 2014 11:14 am

Puteti incarca un mic exemplu, va rog?
"un text mare nepaginat, cu capitole"...
Cum sunt introduse capitolele?
Ca text normal, cu atribute de formatare, sau cu stiluri (Heading 1)?
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 » Dum Feb 02, 2014 11:43 am

Textul este "chior", aliniat tot la stanga, neboldat, ne-italicit etc :
Times New Roman, 10

E.G.
<tab>Xxxxxxxxxxxxxxxxxxxxxxxxx,
<tab>xxxxxxxxxxxxxxxxxxxxxxxxx.
<tab>Capitolul I
<tab>Marirea si prabusirea Imperiului Otoman
<tab>Yyyyyyyyyyyyyyyyyyyyyy
<tab>yyyyyyyyyyyyyyyyyyyyyy

Si ar trebui sa arate asa:

<tab>xxxxxxxxxxxxxxxxxxxxxxxxx.
^13
<center>
Capitolul I
<b>Marirea si prabusirea Imperiului Otoman</b>
</center>
^13
<tab>Yyyyyyyyyyyyyyyyyyyyyy

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

Re: Centrare caractere

Mesaj de Dr.Word » Dum Feb 02, 2014 1:31 pm

Va ajut cu mare drag, dar va rog sa incarcati un fisier word, cu un mic select din textul original si cu un sample din ceea ce doriti.
E mult mai usor pentru mine sa lucrez pe un exemplu decat sa construiesc ceva care, poate nu este conform cu realitatea.
Dr. Word
MCT, MCTS
MOS Master Instructor
ITLearning

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

Re: Centrare caractere

Mesaj de Dr.Word » Dum Feb 02, 2014 7:06 pm

Intrucat nu mi=ati oferit aceste detalii... am incropit eu un fisier, sper ca e ceea ce trebuie. Cum anume doriti... nu e foarte clar. Rulati macro findCapitol
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
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 11:39 am

Draga Dr. Word,

Imi cer scuze, la varsta mea inteleg mai greu si uit mai repede. :)
Deci, Office 2003, ca sa pot dechide si eu fisierul fara sa-mi taie din features la incarcare.
Am atasat fisierul.
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 11:51 am

Ce tristete!
Acum imi dau seama ca ce incropisem eu nu va era de niciun ajutor. Folosisem minunatia de cautare cu Wildcards din Word 2010 care rezolva problema rapid. Sa vad cum fac in 2003.
Dr. Word
MCT, MCTS
MOS Master Instructor
ITLearning

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 12:10 pm

Buun, n-avem office 2010 sau 2007. Dar avem si in 2003 stiluri:
Iata aici cum putem folosi facilitatea de selectare a textelor cu format similar
http://office.microsoft.com/en-gb/word- ... 84442.aspx
asta pentru a selecta "sectiunile" in caz ca au fost scrise de autor cu aceleasi atribute de formatare. Le aplicati apoi stilul Heading 1 (modificat dupa preferinta) si la fel cu subtitlurile.
Din cate am vazut in exemplul dumneavoastra, textul original nu are caracterul tab la inceput, cum gresit am inteles din prima descriere a problemei, ci doar alinierea paragrafului de tip Normal.
Eu asa as face. Fara sa ma complic cu macro.
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 1:22 pm

Multumesc pt. raspunsul promt.
Tocmai incercam sa bricolez la macro-ul dvs. ca sa introduc si diacritice.
Asa cum era normal am pus doua " una dupa alta si mi-a dat eroare :)
Apoi ...
Run-time error '5':
Invalid procedure call or argument

Utilizarea Heading1 face "center" dar schimba si fontul, size, italic etc. ceea ce NU este necesar !!!

Alinierea initiala o fac eu, selectand tot si tragand sagetica de la bara cu pargrafe/taburi cu o jumatate de unitate.

In Word 2003, la "Replace" apare si optiunea Wildcards si VB-ul "atasat" o suporta.
La macro-urile inregistrate automat apare asa: .MatchWildcards = True sau False.

Stiam de posibilitatea din Styles & Formating, dar daca o folosesc nu imi introduce si cele doua ^13, inainte de "Capitol" si dupa descrierea lui (al doilea rand centrat). Adica trebuie sa le bag manual la 50-60 de "Capitol/Sectiune". :(
Chiar daca dau "replace all" "Capitol" cu "^13Capitol", randul al doilea este intodeauna altceva de la capitol la capitol.
Speram sa rezolv totul cu un macro. :)

Si bine inteles, mi-a scapat o boldare ce nu exista de fapt in "Initial" si trebuie sa fie in "Final"

Asa ca va trimit inca o data documentul si ce am modificat in macro de imi apare eroarea 5.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

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

Re: Centrare caractere

Mesaj de DR.ACCESS » Lun Feb 03, 2014 1:48 pm

Incercati, va rog, urmatorul cod. E valabil doar pentru titlul sectiunea. Voi completa si pentru randul urmator. Nu am insa Word2003 in acest moment la dispozitie. Si n-am incercat niciodata in 2003 sa folosesc Wildcards.

Cod: Selectaţi tot

Sub findCapitol2()
'
' findCapitol Macro
'
'


    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
 
 Selection.Find.ClearFormatting
    Selection.Find.Style = ActiveDocument.Styles("Heading 1")
    
End Sub
(Scuze, am raspuns de pe un alt cont. Tot eu sunt si Dr.Word)
D. Tanase
MCT, MCTS
MOS Master Instructor

Închis

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