Primjeri makronaredbi i VBA vodič

Dobro došli u naš Mega-vodič Word VBA / makronaredbe!

Ova stranica sadrži:

    1. Word VBA udžbenik PDF (besplatno preuzimanje)
    2. Word VBA "Cheat Sheet" koji sadrži popis najčešće korištenih isječaka koda Word VBA
    3. Cijeli Word VBA / Makro vodič.
    4. Popis svih pretraživih Word VBA makro vodiča za pretraživanje

Možda će vas zanimati i naš Interaktivni VBA vodič za Excel. Iako su neki od primjera / vježbi specifični za Excel VBA, veliki dio sadržaja je općenit za sve VBA i možda će vam biti korisno naučiti koncepte poput If Statements, Loops, MessageBoxes itd.

VBA PDF (besplatno preuzimanje)

Preuzmite naš besplatni vodič za Microsoft Word VBA! Ili VBA vodiči za druge Office programe!

preuzimanje datoteka

Primjeri Word VBA "CheatSheet"

U nastavku ćete pronaći jednostavne primjere VBA koda za rad s Microsoft Wordom.

Odaberite / Idi na

OpisVBA kodBackspaceSelection.TypeBackspaceOdaberite Cijeli dokumentOdabir. Jedinica početne tipke: = wdStory
Odabir.ProširiKopiratiOdabir.KopirajIzbrisatiOdabir.Izbriši jedinicu: = wdCharacter, Count: = 1Umetni poslijeSelection.InsertAfter "text"Početak linijeOdabir.Jedinica početne tipke: = wdLineKraj linijeSelection.EndKey Unit: = wdLineZalijepitiIzbor.PastavaOdaberi sveIzbor.Cjelovita pričaOdaberite Cijeli redakSelection.EndKey Unit: = wdLine, Extend: = wdExtendPomakni paragraf goreSelection.MoveUp Unit: = wdParagraph, Count: = 1Pomicanje jednog znaka udesnoSelection.MoveRight Jedinica: = wdCharacter, Count: = 1Pomicanje jedne ćelije desno u tabliciSelection.MoveRight Unit: = wdCellIdite na početak dokumentaOdabir. Jedinica početne tipke: = wdStoryIdite na kraj DocSelection.EndKey Unit: = wdStoryIdite na stranicu 1Selection.GoTo What: = wdGoToPage, Which: = wdGoToNext, Name: = ”1 ″Idi na vrh straniceSelection.GoTo What: = wdGoToBookmark, Name: = ”\ Stranica”
Selection.MoveLeft Unit: = wdCharacter, Count: = 1

Povratak na vrh

Oznake

OpisVBA kodDodatiS ActiveDocument.oznakama
.Dodajte raspon: = Odabir.Range, Naziv: = ”Naziv”
.DefaultSorting = wdSortByName
.ShowHidden = Netačno
Završi sRačunatiZatamnite n kao cijeli broj
n = ActiveDocument.Oznake.BrojIzbrisatiActiveDocument.Bookmarks (“BookmarkName”). IzbrišiPostoji?Ako je ActiveDocument.Bookmarks.Exists (“BookmarkName”) = Istina
'Učini nešto
Završi akoIćiSelection.GoTo What: = wdGoToBookmark, Name: = ”BookmarkName”OdaberiActiveDocument. Bookmarks (“BookmarkName”). OdaberiteZamijenite tekstSelection.GoTo What: = wdGoTo Bookmark, Name: = ”BookmarkName”
Odabir.Brisati jedinicu: = wdCharacter, Count: = 1
Selection.InsertAfter "New Text"
ActiveDocument.Bookmarks.Add Range: = Selection.Range, _
Naziv: = ”Naziv oznake”

Povratak na vrh

Dokument

OpisVBA kodAktiviratiDokumenti ("Primjer.doc"). AktivirajteDodaj u varijabluDim doc kao dokument
Postavi doc = Dokumenti.DodajDodatiDokumenti.DodatiDodaj (iz drugog dokumenta)Documents.Add Template: = ”C: \ Forms \ FormDoc.doc”, _
NewTemplate: = NetočnoZatvoritiDokumenti ("Primjer.doc"). ZatvoritiZatvori - Spremi promjeneDokumenti (“Example.doc”). Zatvorite SaveChanges: = wdSaveChangesZatvori - ne spremajDokumenti (“Example.doc”). Zatvorite SaveChanges: = wdDoNotSaveChangesZatvori - Odmah zatražite spremanjeDokumenti ("Primjer.doc"). Zatvorite Spremi promjene: = wdPromptToSaveChanges

Povratak na vrh

Stupci

OpisVBA kodSpremi kaoDokumenti ("Example.doc"). SaveAs ("C: \ Example \ Example.doc")UštedjetiDokumenti ("Primjer.doc"). SpremiZaštititiDokumenti ("Primjer.doc"). Zaštita lozinke: = "lozinka"Ukloni zaštituDokumenti ("Primjer.doc"). Zaštita lozinke: = "lozinka"Broj stranicaDim varNumberPages kao Variant
varNumberPages = _
ActiveDocument.Content.Information (wdActiveEndAdjustedPageNumber)IspisDokumenti ("Primjer.doc"). Ispis

Povratak na vrh

Umorni ste od traženja primjera VBA koda? Isprobajte AutoMacro!

Font

OpisVBA kodVeličinaOdabir.Veličina fonta = 12PodebljanoSelection.Font.Bold = TrueKurzivSelection.Font.Italic = TačnoNaglasitiSelection.Font.Underline = wdUnderlineSingleSve velikim slovimaSelection.Font.AllCaps = IstinaBojaSelection.Font.TextColor = vbRedImeSelection.Font.Name = “Abadi”PodnapisSelection.Font.Subscript = TačnoSuperScriptSelection.Font.Superscript = TačnoBoja isticanjaSelection.Range.HighlightColorIndex = wdYellowStilSelection.Style = ActiveDocument.Styles ("Normalno")

Povratak na vrh

Umetnuti

OpisVBA kodUmetnite autotekstSelection.TypeText Text: = ”a3 ″
Odabir.Range.InsertAutoTextUmetnite kôd datumaUmetni datotekuSelection.InsertFile ("C: \ Docs \ Something.doc")Umetni prijelom straniceSelection.InsertBreak Vrsta: = wdPageBreakUmetnite simbol odlomkaSelection.TypeText Text: = Chr $ (182)Umetni karticuSelection.TypeText Text: = vbTabUmetni tekstSelection.TypeText Text: = ”Bilo koji tekst”Umetni odlomak vrsteOdabir.TipParagrafUmetni odlomakOdabir.Umetni paragraf

Povratak na vrh

Petlje

OpisVBA kodUčinite do kraja dokUčiniti do ActiveDocument.Bookmarks (“\ Sel”) = ActiveDocument.Bookmarks (“\ EndOfDoc”)
'Učini nešto
PodZa svaki dokument u DokumentimaDim doc kao dokument
ForEach doc U dokumentima
'Učini nešto
Sljedeći docProđite kroz odlomkePododlomci
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Paragraphs.CountFori = 1 Za iParCount
ActiveDocument.Paragraphs (i) .Alignment = wdAlignParagraphLeft
Sljedeći i

Povratak na vrh

Stavak

OpisVBA kodKeepLinesTogetherSelection.ParagraphFormat.KeepTogether = IstinaKeepWithNextSelection.ParagraphFormat.KeepWithNext = IstinaSpace AfterSelection.ParagraphFormat.SpaceAfter = 12Svemir PrijeSelection.ParagraphFormat.SpaceBefore = 0Centar za poravnavanjeSelection.ParagraphFormat.Alignment = wdAlignParagraphCenterPoravnajte udesnoSelection.ParagraphFormat.Alignment = wdAlignParagraphRightPoravnaj ulijevoSelection.ParagraphFormat.Alignment = wdAlignParagraphLeftLijevi uvlakaSelection.ParagraphFormat.LeftIndent = InchesToPoints (3,75)Desni uvlačenjeSelection.ParagraphFormat.RightIndent = InchesToPoints (1)Razmak između redovaWith Selection.ParagraphFormat
.LineSpacingRule = wdLineSpaceTočno
.Raspon linija = 12
Završi sProđite kroz sve odlomkePododlomci
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Paragraphs.CountFori = 1 Za iParCount
ActiveDocument.Paragraphs (i) .Alignment = wdAlignParagraphLeft
Sljedeći i

Povratak na vrh

Word VBA Makro vodič

Ovo je vodič za korištenje VBA s Microsoft Wordom. Ovaj vodič će vas naučiti kako napisati jednostavan makro i komunicirati s dokumentima, rasponima, odabirima i odlomcima.

Napomena: Ako ste tek počeli koristiti makronaredbe / VBA, ovaj bi vam članak mogao biti od koristi: Kako napisati VBA makronaredbe iz nule.

VBA je programski jezik koji se koristi za automatizaciju programa Microsoft Office, uključujući Word, Excel, Outlook, PowerPoint i Access.

Makronaredbe su blokovi VBA koda koji izvode određene zadatke.

Kada ti Snimite makronaredbu, Word će upisati VBA kôd u makro, dopuštajući vam da ponovite svoje radnje. Možete vidjeti popis svih dostupnih makronaredbi iz Prikaz> Makronaredbe.

Nakon snimanja makronaredbi moći ćete uređivati ​​makronaredbu s popisa makronaredbi:

Kad kliknete Uredi, otvorite VBA urednik. Pomoću VBA Editor -a možete uređivati ​​snimljene makroe ili pisati Word Macro od početka. Za pristup VBA Editoru upotrijebite prečac ALT + F11 ili kliknite Visual Basic od Vrpca za programere.

Primjer jednostavne riječi Word Macro

Ovo je jednostavan primjer Word VBA makronaredbe. Obavlja sljedeće zadatke:

  • Otvara Wordov dokument
  • Zapisuje u dokument
  • Zatvara i sprema Wordov dokument.
123456789101112131415 Pod WordMacroExample ()'Otvorite Doc & Assign to VariableDim oDoc kao dokumentPostavi oDoc = Documents.Open ("c: \ Users \ netko \ NewDocument.docx")'Pišite docuSelection.TypeText "www.automateexcel.com"Odabir.TipParagraf'Spremi i zatvori DocoDoc.SpremioDoc.ZatvoriKraj podm

Osnove makronaredbi riječi

Sav VBA kôd mora biti pohranjen u ovakvim procedurama. Za stvaranje postupka u VBA upišite „Sub WordMacroExample“ (gdje je „WordMacroExample“ željeni naziv makronaredbe) i pritisnite UNESI. VBA će automatski dodati zagrade i End Sub.

Word Document Objekt

Prilikom interakcije s programom Microsoft Word u VBA -i često ćete spominjati Wordove "objekte". Najčešći objekti su:

Objekt aplikacije - sam Microsoft Word

Objekt dokumenta - Wordov dokument

Objekt dometa - Dio Word dokumenta

Objekt odabira - Odabrani raspon ili mjesto kursora.

Primjena

Aplikacija je objekt "najviše razine". Kroz njega se može doći do svih ostalih objekata u Wordu.

Osim pristupa drugim Wordovim objektima, postoje i postavke na razini aplikacije koje se mogu primijeniti:

1 Application.Options.AllowDragAndDrop = Istina

Ovo je primjer pristupa "Odabiru" "Windows (1)" s u aplikaciji:

1 Aplikacija.Windows (1) .Izbor.Likovi.Broj

Međutim, najčešćim objektima programa Word može se pristupiti izravno, bez upisivanja cijele hijerarhije. Umjesto toga, možete (i trebali biste) samo upisati:

1 Izbor.Likovi.Broj

Dokumenti

ActiveDocument

Često ćete imati dva ili više dokumenata otvorenih u Wordu i morat ćete navesti s kojim Word dokumentom želite komunicirati. Jedan od načina da odredite koji dokument želite koristiti ActiveDocument. Na primjer:

1 ActiveDocument.PrintOut

… ispisao bi ActiveDocument. ActiveDocument je dokument u Wordu koji "ima fokus"

Da biste prebacili ActiveDocument, upotrijebite naredbu Activate:

1 Dokumenti ("Primjer.docx"). Aktivirajte

Ovaj dokument

Umjesto da koristite ActiveDocument za pozivanje na aktivni dokument, možete koristiti ThisDocument za upućivanje na dokument u kojem je pohranjena makronaredba. Ovaj se dokument nikada neće promijeniti.

1 ThisDocument.PrintOut

Varijable dokumenata

Međutim, za složenije makronaredbe može biti teško pratiti aktivni dokument. Također može biti frustrirajuće prebacivati ​​se s jednog na drugi dokument.

Umjesto toga, možete koristiti varijable dokumenta.

Ovaj će makro dodijeliti ActiveDocument varijabli, a zatim ispisati dokument pomoću varijable:

12345 Pod VarExample ()Dim oDoc kao dokumentPostavite oDoc = ActiveDocumentoDoc.PrintOutKraj podm

Metode dokumenata

Otvorite dokument

Da biste otvorili Wordov dokument:

1 Documents.Open "c: \ Users \ SomeOne \ Desktop \ Test PM.docx"

Preporučujemo da uvijek dodijelite dokument varijabli nakon otvaranja:

12 Dim oDoc kao dokumentPostavite oDoc = Documents.Open ("c: \ Users \ SomeOne \ Desktop \ Test PM.docx")

Izradi novi dokument

Da biste izradili novi Wordov dokument:

1 Dokumenti.Dodati

Word možemo uputiti da izradi novi dokument na temelju nekog predloška:

1 Documents.Add Template: = "C: \ Program Files \ Microsoft Office \ Templates \ MyTemplate.dotx"

Kao i uvijek, korisno je i uštedjeti velike probleme pri dodjeljivanju dokumenta varijabli pri stvaranju ili otvaranju:

12 Dim oDoc kao dokumentPostavite oDoc = Documents.Add (Template: = "C: \ Program Files \ Microsoft Office \ Templates \ MyTemplate.dotx")

Spremi dokument

Da biste spremili dokument:

1 ActiveDocument.Save

ili Spremi kao:

1 ActiveDocument.SaveAs FileName: = c: \ Users \ SomeOne \ Desktop \ test2.docx ", FileFormat: = wdFormatDocument

Zatvorite dokument

Da biste zatvorili dokument i spremili promjene:

1 ActiveDocument.Close wdSaveChanges

ili bez spremanja promjena:

1 ActiveDocument.Close wdDoNotSaveChanges

Ispis dokumenta

Ovo će ispisati aktivni dokument:

1 ActiveDocument.PrintOut

Raspon, odabir, odlomci

Domet i Izbor vjerojatno su najvažniji objekti u programu Word VBA, zasigurno se najviše koriste.

Domet odnosi se na neki dio dokumenta, obično, ali ne nužno, tekst.

Izbor odnosi se na odabrani tekst (ili neki drugi objekt poput slika) ili, ako ništa nije odabrano, na mjesto umetanja.

Odlomci predstavljaju odlomke u dokumentu. Manje je važno nego što zvuči jer ne možete izravno pristupiti tekstu odlomka (morate pristupiti određenom rasponu odlomka da biste izvršili izmjene).

Domet

Raspon može biti bilo koji dio dokumenta, uključujući cijeli dokument:

12 Dim oRange As RangePostavite oRange = ActiveDocument.Content

ili može biti mali kao jedan znak.

Drugi primjer, ovaj raspon bi se odnosio na prvu riječ u dokumentu:

12 Dim oRange As RangePostavi oRange = ActiveDocument.Range.Words (1)

Obično biste htjeli dobiti raspon koji se odnosi na određeni dio dokumenta, a zatim ga izmijeniti.

U sljedećem primjeru podebljat ćemo prvu riječ drugog stavka:

123 Dim oRange As RangePostavi oRange = ActiveDocument.Paragrafi (2) .Range.Words (1)oRange.Bold = Istina

Postavi tekst raspona

Da biste postavili tekstualnu vrijednost raspona:

123 Dim oRange As RangePostavi oRange = ActiveDocument.Paragrafi (2) .Range.Words (1)oRange.Text = "Pozdrav"

(Savjet: Zabilježite razmak iza „Zdravo“. Budući da objekt riječi uključuje razmak iza riječi, samo sa „zdravo“ dobili bismo „riječ Hellonext“)

Postoje stotine stvari koje možete učiniti s rasponima. Samo nekoliko primjera (oni pretpostavljaju da ste već postali objektna varijabla naranča odnosi se na raspon interesa):

Promijeni font

1 oRange.Font.Name = "Arial"

Prikažite u okviru za poruku broj znakova u određenom rasponu

1 MsgBox oRange.Caracters.Count

Prije toga umetnite neki tekst

1 oRange.InsertPrije "ovo je umetnuti tekst"

Rasponu dodajte fusnotu

12 ActiveDocument.Footnotes.Add Range: = oRange, _Tekst: = "Pročitajte više na easyexcel.net."

Kopirajte ga u međuspremnik

1234 oRange.CopyČesto morate promijeniti ono na što se odnosi određeni raspon. Tako možete započeti početak i krajoRange.Start = 5oRange.End = 50

Nakon gornjeg koda, oRange će se odnositi na tekst koji počinje s petim i završava s 50. znakom u dokumentu.

Izbor

Izbor još se više koristi od Domet, jer je s njim lakše raditi Izbor od Dometi, AKO SAMO vaša makronaredba stupa u interakciju s ActiveDocumentom.

Najprije odaberite željeni dio dokumenta. Na primjer, odaberite drugi odlomak u aktivnom dokumentu:

1 ActiveDocument.Odstavci (2) .Range.Odaberi

Zatim možete upotrijebiti objekt za odabir da upišete neki tekst:

1 Selection.TypeText "Neki tekst"

Možemo upisati neke odlomke ispod "Neki tekst":

12 Selection.TypeText "Neki tekst"Odabir.TipParagraf

Često je potrebno znati je li odabran neki tekst ili imamo samo točku umetanja:

12345 Ako odabir.Tip wdSelectionIP ZatimSelection.Font.Bold = TrueDrugoMsgBox "Morate odabrati neki tekst."Završi ako

Prilikom rada s objektom Odabir želimo postaviti točku umetanja na određeno mjesto i izdavati naredbe počevši od ove točke.

Početak dokumenta:

1 Odabir.HomeKey jedinica: = wdStory, Extend: = wdMove

Početak trenutne linije:

1 Odabir. Jedinica glavne tipke: = wdLine, Proširi: = wdMove

Parametar Extend wdMove pomiče točku umetanja. Umjesto toga, možete koristiti wdExtend koji će odabrati sav tekst između trenutne točke umetanja.

1 Selection.HomeKey Unit: = wdLine, Extend: = wdExtend

Premjesti odabir

Najkorisnija metoda za promjenu položaja točke umetanja je Premjesti. Za pomicanje Odabira dva znaka naprijed:

1 Odabir.Mjera jedinica: = wdCharacter, Broj: = 2

za pomicanje unatrag upotrijebite negativni broj za parametar Count:

1 Odabir. Jedinica za premještanje: = wdCharacter, Broj: =-2

Parametar jedinice može biti wdCharacter, wdWord, wdLine ili više (upotrijebite pomoć programa Word VBA da biste vidjeli druge).

Da biste umjesto toga premjestili riječi:

1 Odabir. Pomicanje jedinice: = wdWord, Broj: = 2

S odabirom je lakše raditi (u usporedbi s rasponima) jer je poput robota koji koristi Word, oponašajući ljudskog korisnika. Tamo gdje je točka umetanja - dogodila bi se neka radnja. No, to znači da morate voditi računa o mjestu umetanja! To nije lako nakon mnogih koraka u kodu. Inače bi Word promijenio tekst na željenom mjestu.

U slučaju da trebate neko svojstvo ili metodu koja nije dostupna u objektu Odabir, uvijek možete lako dobiti raspon povezan s odabirom:

1 Postavi oRange = Odabir.Range

SAVJET: Korištenje Izbor često je lakše nego korištenje raspona, ali je i mnogo sporije (važno kada se bavite velikim dokumentima)

Odlomci

Ne možete izravno koristiti objekt Paragrafi za promjenu teksta:

1 ActiveDocument.Paragraphs (1) .Text = "Ne, ne bi uspjelo"

Gore navedeno ne bi radilo (zapravo će izazvati pogrešku). Najprije morate dobiti raspon povezan s određenim stavkom:

1 ActiveDocument.Paragraphs (1) .Range.Text = "Odmah radi :)"

Ali možete izravno promijeniti njegov stil:

1 ActiveDocument.Paragrafi (1) .Style = "Normalno"

ili promijenite oblikovanje na razini odlomka:

1 ActiveDocument.Paragrafi (1) .LeftIndent = 10

ili možda želite zadržati ovaj odlomak u istom retku sa sljedećim odlomkom:

1 ActiveDocument.Paragrafi (1) .KeepWithNext = Istina

Neka paragraf bude centriran:

1 ActiveDocument.Paragraphs (1) .Alignment = wdAlignParagraphCenter

JAKO je korisno dodijeliti određeni odlomak objektnoj varijabli. Ako dodijelimo određeni odlomak varijabli, ne moramo se brinuti ako prvi odlomak postane drugi jer smo ispred njega umetnuli jedan odlomak:

12 dim oPara kao StavakPostavi oPara = Odabir.Paragrafi (1) 'ovdje dodjeljujemo prvi odlomak trenutnog odabira varijabli

Evo primjera gdje ubacujemo odlomak iznad prvog odlomka, ali se i dalje možemo pozivati ​​na stari prvi odlomak jer je dodijeljen varijabli:

1234567 Pododstavak Primjer ()Dim oPara Kao stavakPostavi oPara = ActiveDocument.Paragrafi (1)MsgBox oPara.Range.TextoPara.Range.InsertParagraphPrije 'Umetni odlomakMsgBox oPara.Range.TextKraj podm

Objekt odlomka vrlo se često koristi u petljama:

123456789101112 Sub LoopThroughParagraphs ()Dim oPara Kao stavakZa svaki oPara u ActiveDocument.Paragrafi'učini nešto s tim. Samo ćemo prikazati"tekst odlomka ako je njegov stil" Naslov 4 "Ako je oPara.Style = "Naslov 4" ZatimMsgBox oPara.Range.TextZavrši akoSljedeća oParaKraj podm

Word VBA Vodič Zaključak

Ovaj vodič je obuhvatio osnove Word VBA. Ako ste tek počeli s VBA -om, trebali biste pregledati i naš opći VBA vodič kako biste saznali više o varijablama, petljama, okvirima poruka, postavkama, uvjetnoj logici i još mnogo toga.

Primjeri makronaredbi riječi

Primjeri makronaredbi riječi
Predlošci
Dodajte nove dokumente
Broji riječi u izboru
Okviri za tekst
Spremi kao PDF
Oznake
Tablice
Pronađi i pronađi i zamijeni
Otvorite Dokumente

Česta pitanja o Word VBA

Što je Word Macro?

Makro je opći pojam koji se odnosi na skup programskih uputa koje automatiziraju zadatke. Makroi programa Word automatiziraju zadatke u programu Word pomoću programskog jezika VBA.

Ima li riječ VBA?

Da, Microsoft Word ima VBA Editor. Može se pristupiti pritiskom na ALT + F11 ili odlaskom na Developer> Visual Basic.

Kako mogu koristiti VBA u Wordu?

1. Otvorite VBA Editor (ALT + F11 ili Developer> Visual Basic)
2. Idite na Umetni> Modul da biste stvorili kodni modul
3. Upišite ‘Sub HelloWorld’ i pritisnite Enter
4. Između redaka ‘Sub HelloWorld’ i ‘End Sub’ upišite ‘MsgBox“ Hello World! ”
5. Napravili ste makro!
6. Sada pritisnite ‘F5’ za pokretanje makronaredbe

wave wave wave wave wave