Dobro došli u naš Mega-vodič Word VBA / makronaredbe!
Ova stranica sadrži:
-
- Word VBA udžbenik PDF (besplatno preuzimanje)
- Word VBA "Cheat Sheet" koji sadrži popis najčešće korištenih isječaka koda Word VBA
- Cijeli Word VBA / Makro vodič.
- 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: = wdStoryOdabir.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 dokumentPostavi 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 VariantvarNumberPages = _
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