Lucrul cu secțiuni, inițializare pagină, ferestre și vizualizări

Fiecare document Word conține în mod implicit cel puțin o secțiune și poate conține mai multe secțiuni dacă este necesar pentru conținutul și aspectul său. Secțiunea documentului controlează aspectul paginii astfel încât diferite secțiuni ale unui document pot să arate diferit.

Adăugarea unei secțiuni la un document

Puteți adăuga o secțiune la un document utilizând metoda Add cu colecția Sections, fie utilizând metoda InsertBreak cu un obiect Range sau Selection.

Metoda Add are următoarea sintaxă:

expression.Add Range, Start

Aici, expression este o expresie necesară care returnează o colecția Sections. Range este un argument opțional de tip Variant care specifică intervalul de la începutul căruia se introduce întreruperea. (Dacă omiteți Range, VBA inserează întreruperea la sfârșitul documentului.) Start este un argument opțional de tip Variant utilizat pentru a specifica tipul de întrerupere de secțiune pentru a insera:

  • wdSectionContinuous (0) pentru o întrerupere de secțiune continuă
  • wdSectionEvenPage (3) pentru o întrerupere de secțiune pe pagină pară
  • wdSectionOddPage (4) pentru o întrerupere de secțiune pe pagină impară
  • wdSectionNewColumn (1) pentru o întrerupere de secțiune pe o coloană nouă
  • wdSectionNewPage (2, implicit) pentru o întrerupere de secțiune pe pagină nouă

Următoarea declarație adaugă o secțiune de pagină nouă la documentul activ, plasându-l înainte de al doilea paragraf:

ActiveDocument.Sections.Add _
Range:=.Range(Start:=.Paragraphs(2).Range.Start, _
End:=.Paragraphs(2).Range.Start), Start:=wdSectionNewPage

Metoda InsertBreak are următoarea sintaxă:

expression.InsertBreak Type

Aici, expression este o expresie necesară care returnează un obiect Selection sau Range. Type este un argument opțional de tip Variant care specifică tipul de întrerupere de secțiune care va fi inserat:

  • wdSectionBreakNextPage (2) pentru o întrerupere de secțiune pe pagină nouă
  • wdSectionBreakContinuous (3) pentru o întrerupere de secțiune continuă
  • wdSectionBreakEvenPage (4) pentru o întrerupere de secțiune pe pagină pară
  • wdSectionBreakOddPage (5) pentru o întrerupere de secțiune pe pagină impară
  • wdColumnBreak (8) pentru o întrerupere de secțiune pentru coloană

Următoarea instrucțiune inserează un sfârșit de secțiune continuă înainte de al doilea paragraf din documentul activ:

ActiveDocument.Paragraphs(2).Range.InsertBreak _
Type:=wdSectionBreakContinuous

Modificarea configurării paginii

Pentru a modifica configurarea paginii unui document sau a unei secțiuni, lucrați cu obiectul PageSetup al obiectului Document sau al obiectului Section. De exemplu, următoarele afirmații funcționează cu obiectul PageSetup al documentului denumit Planning.docm, setarea dimensiunii hârtiei - Letter, orientarea portret, marginile în oglindă și dimensiunile marginilor (în puncte):

With Documents("Planning.docm").PageSetup 
 .PaperSize = wdPaperLetter 
 .Orientation = wdOrientPortrait 
 .TopMargin = 1 
 .BottomMargin = 1 
 .LeftMargin = 1 
 .RightMargin = 1.5 
 .MirrorMargins = True
End With

Deschiderea unei ferestre noi care conține un document deschis

Pentru a deschide o fereastră nouă care conține un document deschis, utilizați metoda Add. Sintaxa sa este simplă:

expression.Add window

Aici, expression este o expresie care returnează o colecție Windows, iar window este un argument opțional de tip Variant care specifică fereastra care conține documentul pentru care doriți să deschideți o fereastră nouă. Dacă omiteți window, VBA deschide o fereastră nouă pentru documentul activ.

Înțelegerea celor două colecții Windows

Există două colecții Windows: una pentru aplicație și una pentru fereastra care afișează documentul cu care lucrați. Colecția Windows pentru obiectul Document poate fi utilă dacă aveți mai multe ferestre deschise pentru același document (așa puteți face făcând clic pe fila Vizualizare – View de pe panglică, apoi cu clic pe butonul New Window din secțiunea Window din Panglică), dar, de obicei, veți dori să utilizați colecția Windows pentru obiectul Application. Windows este un obiect care poate fi creat, deci nu este necesar să specificați obiectul Application.

De exemplu, următoarele declarații deschid o fereastră nouă pentru prima fereastră deschisă pentru documentul activ, atribuind fereastra variabilei myWindow:

Dim myWindow As Window
Set myWindow = Windows.Add(Window:=ActiveDocument.Windows(1))

Închiderea tuturor ferestrelor, cu excepția primei pentru un document

Ocazional, este util să deschideți una sau mai multe ferestre noi pentru un document. Dacă faceți acest lucru, mai devreme sau mai târziu va trebui să închideți toate ferestrele secundare pentru a vă oferi mai mult loc de manevră. Următoarele declarații închid toate ferestrele, cu excepția primei ferestre pentru documentul activ:

Dim myWin As Window, myDoc As String 
myDoc = ActiveDocument.Name 
For Each myWin In Windows
  If myWin.Document = myDoc Then _
  If myWin.WindowNumber <> 1 Then myWin.Close 
Next myWin

Divizarea unei ferestre

Pentru a împărți o fereastră în două părți orizontale, setați proprietatea Split la True. Pentru a specifica procentul de scindare (care controlează poziția barei care împarte fereastra), setați proprietatea SplitVertical. Următoarele declarații împart fereastra activă la 70% din partea de jos a ferestrei:

With ActiveWindow 
  .Split = True 
  .SplitVertical = 70 
End With

Pentru a elimina scindarea ferestrei, setați proprietatea Split la False:

ActiveWindow.Split = False

Încercați să redimensionați ferestrele

În toate versiunile de Windows 7, 8 și 10, veți găsi o caracteristică frumoasă pe o puteți utiliza în locul scindării ferestrei din Word. Glisați o fereastră de la bara de titlu în partea stângă a ecranului. Glisați o altă fereastră în partea dreaptă. Ele se ating și în mod automat, fiecare fereastră ocupă câte jumătate din ecran. Sau, puteți să apăsați tasta Windows + ← (sau →) pentru pune ferestrele pe câte o jumătate de ecran.

Afișarea Document Map pentru o fereastră

Pentru a afișa Document Map pentru o fereastră la procentul de lățime anterioară al documentului (din întreaga fereastră), setați proprietatea DocumentMap la True:

ActiveWindow.DocumentMap = True

Pentru a afișa Document Map la o lățime diferită sau pentru a modifica lățimea Document Map, setați proprietatea DocumentMapPercentWidth la un procent adecvat din lățimea ferestrei:

ActiveWindow.DocumentMapPercentWidth = 25

Pentru a ascunde Document Map, setați proprietatea DocumentMap la False sau setați proprietatea DocumentMapPercentWidth la 0.

Defilarea unei ferestre

Pentru a defila o fereastră în sus, în jos, la stânga sau la dreapta, utilizați metoda LargeScroll sau metoda SmallScroll.

Metoda LargeScroll este similară cu clicul din bara de defilare (nu săgețile din partea de sus și de jos a barei de defilare); acest lucru defilează conținutul ferestrei cu câte un "ecran" întreg. Metoda SmallScroll este similară cu clic pe pătratul de pe bara de defilare; conținutul ferestrei este derulat în sus sau în jos cu câte o singură linie. Dacă lucrați cu o bară de defilare orizontală, conținutul se deplasează la stânga sau la dreapta pe distanțe scurte.

Sintaxa pentru metoda LargeScroll este următoarea:

  expression.LargeScroll(Down, Up, ToRight, ToLeft)

Sintaxa pentru metoda SmallScroll este aproape identică:

  expression.SmallScroll(Down, Up, ToRight, ToLeft)

Aici, expression este o expresie necesară care returnează un obiect Window. Down, Up, ToRight și ToLeft sunt argumente opționale de tip Variant care specifică numărul de ecrane (pentru LargeScroll) sau linii sau unități de deplasare pe orizontală (pentru SmallScroll) pentru a defila conținutul ferestrei în direcțiile indicate de numele lor.

Următoarea instrucțiune defilează fereastra activă două ecrane în sus:

ActiveWindow.LargeScroll Up:=2

Aranjarea ferestrelor

Pentru a aranja un număr de ferestre, utilizați metoda Arrange. Sintaxa pentru metoda Arrange este următoarea:

   expression.Arrange ArrangeStyle

Aici, expression este o expresie care returnează o colecție Windows, iar ArrangeStyle este un argument opțional de tip Variant care specifică modul de aranjare al ferestrelor: ca pictograme (wdIcons, 1) sau stivuite - tiled (wdTiled, 0). Valoarea implicită este wdTiled.

De exemplu, următoarea declarație stivuiește ferestrele deschise:

Windows.Arrange ArrangeStyle:=wdTiled

Poziționarea și dimensionarea unei ferestre

Pentru a poziționa o fereastră pe monitor, setați proprietățile Left și Top, ca în acest exemplu:

  ActiveWindow.Left = 100 ActiveWindow.Top = 200

Pentru a dimensiona o fereastră, setați proprietățile Height și Width:

With ActiveWindow .Height = 300 
 .Width = 400
End With

Pentru a maximiza, minimiza sau "restaura" o fereastră, setați proprietatea WindowState la wdWindowStateMaximize, wdWindowStateMinimize sau wdWindowStateNormal. Următoarele comenzi maximizează fereastra care conține documentul denumit Example.docm dacă fereastra este minimizată:

With Documents("Example.docm").Windows(1)
 If .WindowState = wdWindowStateMinimize Then _
    .WindowState = wdWindowStateMaximize
End With

Verificați dacă un element este afișat în fereastră

După deschiderea sau aranjarea ferestrelor, va trebui adesea să vă asigurați că un element pe care doriți să îl vadă utilizatorul - o zonă, un anumit text, o formă grafică sau altă formă sau un câmp - este afișat în fereastră. Cel mai simplu mod de a face acest lucru este de a utiliza metoda ScrollIntoView a obiectului Fereastră. Această metodă mută vizualizarea, dar nu și selecția, deci, dacă aveți nevoie de selecție pentru a vă deplasa, va trebui să scrieți cod suplimentar pentru a-l muta acolo.

Metoda ScrollIntoView are următoarea sintaxă:

expression.ScrollIntoView(Obj, Start)

Aici, expression este o expresie necesară care returnează un obiect Window. Obj este un argument obligatoriu care specifică un obiect Range sau Shape. Start este un argument opțional Boolean care poate fi setat la True (implicit) pentru a afișa colțul din stânga sus al intervalului sau formei, sau la False pentru a afișa colțul din dreapta jos. Specificați False sau Start atunci când trebuie să vă asigurați că sfârșitul intervalului sau al formei ar putea fi mai mare decât se afișează în fereastră.

Următoarele declarații poziționează selecția la sfârșitul ultimului paragraf din prima listă din documentul activ, gata să adauge un nou paragraf la listă:

Dim rngFirstList As Range
Set rngFirstList = ActiveDocument.Lists(1).Range
ActiveDocument.Windows(1).ScrollIntoView Obj:=rngFirstList, Start:=False
rngFirstList.Select
Selection.Collapse Direction:=wdCollapseEnd
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove

Modificarea vizualizării unui document

Pentru a modifica vizualizarea unui document, setați proprietatea Type a obiectului View pentru fereastra corespunzătoare la wdConflictView, wdMasterView, wdNormalView, wdOutlineView, wdPrintPreview, wdPrintView, wdReadingView sau wdWebView. De exemplu, următoarea instrucțiune modifică vizualizarea pentru Sample.docm la vizualizarea Aspect pagină imprimată (Print Layout):

Documents("Sample.docm").Windows(1).View.Type = wdPrintView

Comutarea la modul citire (Read Mode)

Modul de citire ascunde Panglica, orice marcaj și aproape orice altceva, cu excepția textului în sine. Cu toate acestea, panourile, ar fi Navigarea și Lexicon (Thesaurus), rămân vizibile. Textul în sine este afișat de obicei ca două pagini sau trei (în funcție de nivelul de zoom) una lângă alta ca într-o carte. Nu aveți posibilitatea să editați în această vizualizare. Iată cum puteți comuta la modul Citire:

   ActiveDocument.ActiveWindow.View.Type = wdReadingView

Modul de citire este conceput pentru a face conținutul cât mai ușor de citit și de reținut posibil. De exemplu, caracteristica zoom (dreapta jos) ajustează dimensiunea fontului, dar rearanjează în pagină, astfel încât să nu aveți nevoie de bara de defilare orizontală pentru a afișa textul ascuns pe laterale. Există o bară de defilare, dar nu este necesară afișarea textul care nu este văzut din cauza nivelului de zoom. Bara de zoom este strict pentru navigarea globală a documentelor și ca indicator al poziției currente.

Modul de citire vă oferă, de asemenea, un anumit control asupra lățimii coloanei. Majoritatea oamenilor consideră că este mai ușor să citească linii de text mai scurte, astfel încât să puteți ajusta lungimea liniei în meniul Vizualizare (View). Cu tasta Esc se iese din modul citire.

Mărirea vizualizării pentru afișarea mai multor pagini

Pentru a mări vizualizarea Aspect pagină imprimată (Print Layout) sau Examinare înaintea imprimării (Print Preview) ca să fie afișate mai multe pagini, setați proprietățile PageColumns și PageRows ale obiectului Vizualizare corespunzător. (Modificați mai întâi vizualizarea, dacă este necesar.) Următoarea instrucțiune afișează Sample.docm în vizualizarea Aspect pagină imprimată cu șase pagini afișate (două rânduri cu câte trei pagini pe rând):

With Documents("Sample.docm").Windows(1).View 
  .Type = wdPrintView 
  With .Zoom
  .PageColumns = 3 
  .PageRows = 2 
End With 
End With