Tere tulemast meie Word VBA / Macros mega-juhendisse!
See leht sisaldab:
-
- Word VBA õpetus PDF (tasuta allalaadimine)
- Word VBA „Pettusleht”, mis sisaldab kõige sagedamini kasutatavate Word VBA koodilõikude loendit
- Täielik Wordi VBA / makroõpetus.
- Otsitav nimekiri kõigist meie Word VBA makroõpetustest
Samuti võite olla huvitatud meie interaktiivsest VBA juhendist Exceli jaoks. Kuigi mõned näited / harjutused on spetsiifilised Exceli VBA jaoks, on suur osa sisust üldine kõigile VBA -dele ja teile võib osutuda kasulikuks õppida selliseid mõisteid nagu If Statements, Loops, MessageBoxes ja palju muud.
VBA PDF (tasuta allalaadimine)
Laadige alla meie tasuta Microsoft Word VBA õpetus! Või VBA õpetused teiste Office'i programmide jaoks!
Lae alla
Word VBA näited „CheatSheet“
Allpool leiate lihtsad VBA -koodinäited Microsoft Wordiga töötamiseks.
Valige / Mine
KirjeldusVBA koodTagasilükeSelection.TypeBackspaceValige Kogu dokumentValik.HomeKey Unit: = wdStoryValik. LaiendaKopeeriValik. KopeeriKustutaValik. Kustuta ühik: = wdCharacter, Count: = 1Sisesta pärastSelection.InsertAfter “text”Liini algusValik.HomeKey Unit: = wdLineRida lõppValik.EndKey ühik: = wdLineKleebiValik. PastaVali kõikValik. Terve luguValige Kogu ridaSelection.EndKey Unit: = wdLine, Extend: = wdExtendLiigu lõiguga ülesValik.MoveUp ühik: = wdPa lõige, loendus: = 1Liigutage üks märk paremaleValik.MoveRight ühik: = wdCharacter, Count: = 1Liigutage tabelis üks lahter paremaleValik.MoveRight ühik: = wdCellMinge dokumendi algusesseValik.HomeKey Unit: = wdStoryMinge dokumendi lõppuValik.EndKey ühik: = wdStoryMine lehele 1Selection.GoTo What: = wdGoToPage, Milline: = wdGoToNext, Nimi: = ”1”Minge lehe algusesseSelection.GoTo What: = wdGoToBookmark, Name: = ”\ Page”
Valik.MoveLeft Unit: = wdCharacter, Count: = 1
Tagasi üles
Järjehoidjad
KirjeldusVBA koodLisamaActiveDocument.Bookmarks.Lisa vahemik: = Valik.Vahemik, Nimi: = "Nimi"
.DefaultSorting = wdSortByName
.ShowHidden = Vale
LõpetaKrahvDim n täisarvuna
n = ActiveDocument.Bookmarks.CountKustutaActiveDocument.Bookmarks („Järjehoidja nimi”). KustutaKas on olemas?Kui ActiveDocument.Bookmarks.Exists (“BookmarkName”) = Tõene siis
'Tee midagi
Lõpp KuiMinemaSelection.GoTo What: = wdGoToBookmark, Name: = ”JärjehoidjaNimi”ValigeActiveDocument.Bookmarks („Järjehoidja nimi”). ValigeAsenda tekstSelection.GoTo What: = wdGoToBookmark, Name: = ”JärjehoidjaNimi”
Valik. Kustuta ühik: = wdCharacter, Count: = 1
Selection.InsertAfter “Uus tekst”
ActiveDocument.Bookmarks.Ad Range: = Selection.Range, _
Nimi: = ”JärjehoidjaNimi”
Tagasi üles
Dokument
KirjeldusVBA koodAktiveeriDokumendid (“Example.doc”). AktiveerigeLisa muutujaleDim doc As DocumentMäära doc = Documents.AddLisamaDokumendid. LisaLisa (teisest dokumendist)Documents.Add Template: = ”C: \ Forms \ FormDoc.doc”, _
NewTemplate: = ValeSulgeDokumendid (“Example.doc”). SulgegeSule - salvesta muudatusedDokumendid (“Example.doc”). Sulge SaveChanges: = wdSaveChangesSulge - ärge salvestageDokumendid ("Example.doc"). Sulge SaveChanges: = wdDoNotSaveChangesSule - palub salvestadaDokumendid ("Example.doc"). Sulge SaveChanges: = wdPromptToSaveChanges
Tagasi üles
Veerud
KirjeldusVBA koodSalvesta kuiDokumendid („Example.doc”). SaveAs („C: \ Example \ Example.doc”)SalvestaDokumendid (“Example.doc”). SalvestaKaitstaDokumendid (“Example.doc”). Kaitske parooli: = ”parool”KaitsetaDokumendid („Example.doc”). UnProtect Password: = ”password”Lehekülgede arvDim varNumberPages kui VariantvarNumberPages = _
ActiveDocument.Content.Information (wdActiveEndAdjustedPageNumber)PrindiDokumendid (“Example.doc”). Prindi
Tagasi üles
Kas olete väsinud VBA koodinäidete otsimisest? Proovige AutoMacrot!Font
KirjeldusVBA koodSuurusValik.Font.Size = 12JulgeSelection.Font.Bold = TõsiKaldkiriSelection.Font.Italic = TõsiAllakriipsutaSelection.Font.Underline = wdUnderlineSingleKõik mütsidSelection.Font.AllCaps = TõsiVärvSelection.Font.TextColor = vbRedNimiSelection.Font.Name = “Abadi”AlamindeksSelection.Font.Subscript = TõsiSuperScriptSelection.Font.Superscript = TõsiTõstke esile värvSelection.Range.HighlightColorIndex = wdKollaneStiilSelection.Style = ActiveDocument.Styles ("Tavaline")Tagasi üles
Sisesta
KirjeldusVBA koodSisestage automaattekstSelection.TypeText Text: = ”a3”Selection.Range.InsertAutoTextSisestage kuupäevakoodSisesta failSelection.InsertFile ("C: \ Docs \ Something.doc")Sisestage lehevaheSelection.InsertBreak Type: = wdPageBreakSisesta lõigu sümbolSelection.TypeText Text: = Chr $ (182)Sisesta vahelehtSelection.TypeText Text: = vbTabSisestage tekstSelection.TypeText Text: = "Mis tahes tekst"Sisesta tüüp lõikValik.TüüpPunktSisesta lõikValik. LisaPunkt
Tagasi üles
Silmused
KirjeldusVBA koodTehke kuni dok. LõpuniTehke kuni ActiveDocument.Bookmarks (“\ Sel”) = ActiveDocument.Bookmarks (“\ EndOfDoc”)'Tee midagi
SubIga dokumendi jaoks DocsisDim doc As Document
Iga dokumendi jaoks dokumentides
'Tee midagi
Järgmine dokLõikude kordamineSub läbi lõikude
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Pa lõigud.CountFori = 1 iParCountile
ActiveDocument. Lõigud i. Alignment = wdAlignPa bekezdésLeft
Edasi i
Tagasi üles
Lõige
KirjeldusVBA koodKeepLinesTogetherSelection.Pa bekezdésFormat.KeepTogether = TõsiKeepWithNextSelection.Pa bekezdésFormat.KeepWithNext = TõsiKosmos pärastValik.LõigeFormat.SpaceAfter = 12Kosmos enneValik.LõigeFormat.SpaceBefore = 0Joondage keskusSelection.Pa bekezdésFormat.Alignment = wdAlignPa bekezdésCenterJoondage paremaleSelection.Pa bekezdésFormat.Alignment = wdAlignPa bekezdésRightJoonda vasakuleSelection.Pa bekezdésFormat.Alignment = wdAlignPa bekezdésLeftVasak taaneSelection.Pa bekezdésFormat.LeftIndent = InchesToPoints (3.75)Õige taaneSelection.Pa bekezdésFormat.RightIndent = InchesToPoints (1)ReavaheValikuga. LõigeFormaat.LineSpacingRule = wdLineSpaceTäpselt
.Liinivahe = 12
LõpetaLoe kõik lõigud läbiSub läbi lõikude
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Pa bekezds.CountFori = 1 iParCountile
ActiveDocument. Lõigud i. Alignment = wdAlignPa bekezdésLeft
Edasi i
Tagasi üles
Word VBA makroõpetus
See on õpetus VBA kasutamiseks koos Microsoft Wordiga. See õpetus õpetab teile, kuidas kirjutada lihtsat makro ja suhelda dokumentide, vahemike, valikute ja lõikudega.
Märkus. Kui olete Macros / VBA -s täiesti uus, võib teile kasulik olla ka see artikkel: Kuidas kirjutada VBA -makrosid Scratchist.
VBA on programmeerimiskeel, mida kasutatakse Microsoft Office'i programmide, sealhulgas Wordi, Exceli, Outlooki, PowerPointi ja Accessi automatiseerimiseks.
Makrod on VBA koodi plokid, mis täidavad konkreetseid ülesandeid.
Kui sa Salvestage makro, Word kirjutab makrosse VBA -koodi, mis võimaldab teil oma toiminguid korrata. Näete kõigi saadaolevate makrode loendit Vaade> Makrod.
Pärast makro salvestamist saate seda muuta makro loendist.
Kui klõpsate Muuda, avate VBA toimetaja. VBA redaktori abil saate salvestatud makroid redigeerida või Wordi makro kirjutada nullist. VBA redaktorisse pääsemiseks kasutage otseteed ALT + F11 või klõpsake Visual Basic alates Arendaja lint.
Lihtne Wordi makro näide
See on Word VBA makro lihtne näide. See täidab järgmisi ülesandeid:
- Avab Wordi dokumendi
- Kirjutab dokumendile
- Sulgeb ja salvestab Wordi dokumendi.
123456789101112131415 | Alam WordMacroExample ()'Ava dokument ja määrake muutujaleDim oDoc kui dokumentMäära oDoc = Documents.Open ("c: \ Users \ someone \ NewDocument.docx")'Kirjutage dokileSelection.TypeText "www.automateexcel.com"Valik.TüüpPunkt„Salvesta ja sulge dokoDoc.SaveoDoc.SulgeEnd Sub |
Wordi makro põhitõed
Kogu VBA -kood tuleb salvestada sellistes protseduurides. Protseduuri loomiseks VBA -s sisestage „Sub WordMacroExample” (kus „WordMacroExample” on teie soovitud makro nimi) ja vajutage SISENEMA. VBA lisab sulud ja lõpp -alam automaatselt.
Wordi dokumendi objekt
VBA -s Microsoft Wordiga suheldes viitate sageli Wordi objektidele. Kõige tavalisemad objektid on:
Rakenduse objekt - Microsoft Word ise
Dokumendi objekt - Wordi dokument
Vahemiku objekt - Wordi dokumendi osa
Valiku objekt - Valitud vahemik või kursori asukoht.
Rakendus
Rakendus on "tipptasemel" objekt. Selle kaudu pääseb ligi kõigile teistele Wordi objektidele.
Lisaks teistele Wordi objektidele juurdepääsule saab rakenduse tasemel seadeid rakendada.
1 | Application.Options.AllowDragAndDrop = Tõsi |
See on näide rakenduse „Windowsi (1)” valiku avamiseks rakenduses:
1 | Rakendus. Windows (1). Valik. Märgid. Loend |
Kõige tavalisematele Wordi objektidele pääseb siiski otse juurde, ilma täielikku hierarhiat tippimata. Selle asemel võite (ja peaksite) lihtsalt sisestama:
1 | Valik. Tegelased. Loend |
Dokumendid
ActiveDocument
Sageli avatakse teil Wordis kaks või enam dokumenti ja peate täpsustama, millise konkreetse Wordi dokumendiga suhelda. Üks võimalus määrata, millist dokumenti kasutada ActiveDocument. Näiteks:
1 | ActiveDocument.PrintOut |
… Prindiks ActiveDocumenti. ActiveDocument on Wordi dokument, millel on fookus
ActiveDocumenti vahetamiseks kasutage käsku Aktiveeri:
1 | Dokumendid ("Example.docx"). Aktiveerige |
See dokument
Selle asemel, et kasutada ActiveDocumenti aktiivsele dokumendile viitamiseks, saate selle dokumendi abil viidata dokumendile, kuhu makro on salvestatud. See dokument ei muutu kunagi.
1 | ThisDocument.PrintOut |
Dokumendi muutujad
Keerulisemate makrode puhul võib aga aktiivse dokumendi jälgimine olla keeruline. Masendav võib olla ka dokumentide vahel edasi -tagasi liikumine.
Selle asemel saate kasutada dokumendi muutujaid.
See makro määrab ActiveDocumendi muutujale ja prindib dokumendi muutuja abil:
12345 | AlamvariNäide ()Dim oDoc kui dokumentMäära oDoc = ActiveDocumentoDoc.PrintOutEnd Sub |
Dokumendi meetodid
Ava dokument
Wordi dokumendi avamiseks tehke järgmist.
1 | Dokumendid. Avage "c: \ Users \ SomeOne \ Desktop \ Test PM.docx" |
Soovitame dokumendi alati avada muutujale selle avamisel:
12 | Dim oDoc dokumendinaMäära oDoc = Documents.Open ("c: \ Users \ SomeOne \ Desktop \ Test PM.docx") |
Loo uus dokument
Uue Wordi dokumendi loomiseks toimige järgmiselt.
1 | Dokumendid. Lisa |
Võime Wordile anda juhise mõne uue malli alusel uue dokumendi loomiseks:
1 | Documents.Add Template: = "C: \ Program Files \ Microsoft Office \ Templates \ MyTemplate.dotx" |
Nagu alati, on kasulik ja tohutu probleemisäästja dokumendi loomisel või avamisel muutujale määrata:
12 | Dim oDoc dokumendinaMäärake oDoc = Documents.Add (Mall: = "C: \ Program Files \ Microsoft Office \ Templates \ MyTemplate.dotx") |
Salvesta dokument
Dokumendi salvestamiseks tehke järgmist.
1 | ActiveDocument.Save |
või SaveAs:
1 | ActiveDocument.SaveAs FileName: = c: \ Users \ SomeOne \ Desktop \ test2.docx ", FileFormat: = wdFormatDocument |
Sulge dokument
Dokumendi sulgemiseks ja muudatuste salvestamiseks toimige järgmiselt.
1 | ActiveDocument.Sulge wdSaveChanges |
või muudatusi salvestamata:
1 | ActiveDocument.Sulge wdDoNotSaveChanges |
Prindi dokument
See prindib aktiivse dokumendi:
1 | ActiveDocument.PrintOut |
Vahemik, valik, lõigud
Vahemik ja Valik on ilmselt Word VBA kõige olulisemad objektid, kindlasti enim kasutatud.
Vahemik viitab mõnele dokumendi osale, tavaliselt, kuid mitte tingimata, tekstile.
Valik viitab valitud tekstile (või muule objektile, näiteks piltidele) või kui midagi pole valitud, siis sisestuspunktile.
Lõiked esindavad dokumendis lõike. See on vähem oluline kui see kõlab, kuna te ei pääse otse lõigu tekstile (muudatuste tegemiseks peate juurde pääsema konkreetsele lõigu vahemikule).
Vahemik
Vahemik võib olla dokumendi mis tahes osa, sealhulgas kogu dokument:
12 | Dim oRange As RangeMäära oRange = ActiveDocument.Content |
või võib see olla ühe tegelasena väike.
Teine näide, see vahemik viitaks dokumendi esimesele sõnale:
12 | Dim oRange As RangeMäära oRange = ActiveDocument.Range.Words (1) |
Tavaliselt soovite hankida vahemiku, mis viitab konkreetsele dokumendi osale, ja seejärel seda muuta.
Järgmises näites muudame teise lõigu esimese sõna paksuks:
123 | Dim oRange As RangeMäära oRange = ActiveDocument. Lõigud (2). Range.Words (1)oRange.Bold = Tõsi |
Määra vahemiku tekst
Vahemiku tekstiväärtuse määramiseks tehke järgmist.
123 | Dim oRange As RangeMäära oRange = ActiveDocument. Lõigud (2). Range.Words (1)oRange.Text = "Tere" |
(Nõuanne. Pange tähele tühikut pärast „Tere”. Kuna sõnaobjekt sisaldab tühikut sõna järel, saaksime lihtsalt sõnaga „tere” sõna „Hellonext word”)
Vahemikega saate teha sadu asju. Vaid mõned näited (need eeldavad, et olete juba objektimuutujaks tehtud oRange huvipakkuvale alale):
Muuda fonti
1 | oRange.Font.Name = "Arial" |
Näidake sõnumikastis teatud vahemiku tähemärkide arvu
1 | MsgBox oRange. Märgid. Loend |
Sisestage selle ette mõni tekst
1 | oRange.InsertBefore "see on sisestatud tekst" |
Lisage vahemikule joonealune märkus
12 | ActiveDocument.Jalumärkused. Lisa vahemik: = oRange, _Tekst: = "Loe lähemalt saidilt easyexcel.net." |
Kopeerige see lõikelauale
1234 | oRange. KopeeriSageli peate muutma konkreetset vahemikku viitavat. Nii et saate alustada selle algust ja lõppuoRange.Start = 5oRange.End = 50 |
Pärast ülaltoodud koodi viitaks oRange dokumendile viienda ja 50. tähemärgiga algavale tekstile.
Valik
Valik kasutatakse isegi laiemalt kui Vahemik, sest sellega on lihtsam töötada Valikud kui Vahemikud, KUI teie makro suhtleb AINULT ActiveDocumentiga.
Kõigepealt valige dokumendi soovitud osa. Näiteks valige aktiivse dokumendi teine lõik:
1 | ActiveDocument. Lõiked 2 (2). Vahemik. Valige |
Seejärel saate tekstiobjektiga Valikuobjekt sisestada:
1 | Selection.TypeText "Mõni tekst" |
Võime sisestada mõned lõigud „Mõne teksti” alla:
12 | Selection.TypeText "Mõni tekst"Valik.TüüpPunkt |
Sageli on vaja teada, kas mõni tekst on valitud või on meil lihtsalt sisestuspunkt:
12345 | Kui valik. Sisestage wdSelectionIP SiisSelection.Font.Bold = TõsiMuiduMsgBox "Peate valima teksti."Lõpp Kui |
Valikuobjektiga töötades tahame paigutada sisestuspunkti kindlasse kohta ja väljastada sellest hetkest käske.
Dokumendi algus:
1 | Valik.HomeKey Unit: = wdStory, Extend: = wdMove |
Praeguse rea algus:
1 | Valik.HomeKey Unit: = wdLine, Extend: = wdMove |
Parameeter laiendamine wdMove liigutab sisestuspunkti. Selle asemel võite kasutada funktsiooni wdExtend, mis valib kogu teksti praeguse sisestuspunkti vahel.
1 | Valik.HomeKey Unit: = wdLine, Extend: = wdExtend |
Teisalda valik
Kõige kasulikum meetod sisestuspunkti positsiooni muutmiseks on Liiguta. Valiku liigutamiseks kaks tähemärki edasi:
1 | Valik. Liiguta ühikut: = wdCharacter, Count: = 2 |
tahapoole nihutamiseks kasutage loendusparameetri jaoks negatiivset numbrit:
1 | Valik. Liiguta ühikut: = wdCharacter, Count: =-2 |
Üksuse parameeter võib olla wdCharacter, wdWord, wdLine või rohkem (teiste nägemiseks kasutage Word VBA abi).
Selle asemel sõnade teisaldamiseks tehke järgmist.
1 | Valik. Liiguta ühikut: = wdWord, Count: = 2 |
Valikuga on lihtsam töötada (võrreldes vahemikega), sest see on nagu robot, mis kasutab Wordi, jäljendades inimkasutajat. Sisestuspunkti asukoht - toimingud toimuksid. Kuid see tähendab, et peate olema ettevaatlik sisestuspunkti suhtes! See ei ole lihtne pärast paljusid koodi samme. Vastasel juhul muudaks Word teksti soovitud kohas.
Kui teil on vaja mõnda atribuuti või meetodit, mis pole valikuobjektis saadaval, saate alati hõlpsalt hankida valikuga seotud vahemiku:
1 | Määra oRange = Valik. Vahemik |
NÕUANNE: kasutamine Valik on sageli lihtsam kui vahemike kasutamine, kuid see on ka aeglasem (oluline suurte dokumentidega tegelemisel)
Lõiked
Teksti muutmiseks ei saa otseselt kasutada lõiguobjekti:
1 | ActiveDocument.Paragpss (1) .Text = "Ei, see ei töötaks" |
Eespool ei tööta (tegelikult annab see vea). Kõigepealt peate hankima konkreetse lõiguga seotud vahemiku:
1 | ActiveDocument.Parags (1) .Range.Text = "See töötab nüüd :)" |
Kuid saate selle stiili otse muuta:
1 | ActiveDocument.Lõiked (1) .Style = "Tavaline" |
või muuta selle lõigu taseme vormingut:
1 | ActiveDocument. Lõigud (1). LeftIndent = 10 |
või võib -olla soovite seda lõiku järgmise lõiguga samal joonel hoida:
1 | ActiveDocument.Paragpss (1) .KeepWithNext = Tõsi |
Tee lõik keskele:
1 | ActiveDocument.Paragrahvid (1) .Alignment = wdAlignPa bekezdésCenter |
VÄGA kasulik on määrata konkreetne lõik objekti muutujale. Kui määrame muutujale konkreetse lõigu, ei pea me muretsema, kui esimesest lõigust saab teine, kuna sisestasime selle ette ühe lõigu:
12 | hämar oPara kui lõikMäärake oPara = Valik. Lõiked (1) „siin määrame muutujale praeguse valiku esimese lõigu |
Siin on näide, kus lisame lõigu esimese lõigu kohale, kuid saame siiski viidata vanale esimesele lõigule, kuna see määrati muutujale:
1234567 | AlamlõigeNäide ()Dim oPara nagu lõikMäärake oPara = ActiveDocument. Lõiked (1)MsgBox oPara.Range.TextoPara.Range.InsertPa bekezdésBefore 'Lõigu lisamine'MsgBox oPara.Range.TextEnd Sub |
Lõikeobjekti kasutatakse tsüklites väga sageli:
123456789101112 | Sub LoopThroughPa lõigud ()Dim oPara nagu lõikIga oPara jaoks ActiveDocumentis. Lõigud'tee sellega midagi. Me lihtsalt näitame"lõigu tekst, kui selle stiil on" Pealkiri 4 "Kui oPara.Style = "Rubriik 4" SiisMsgBox oPara.Range.TextLõpp KuiJärgmine oParaEnd Sub |
Word VBA õpetuse järeldus
See õpetus hõlmas Word VBA põhitõdesid. Kui te pole VBA -ga uus, peaksite muutujate, silmuste, MessageBoxide, seadete, tingimusloogika ja palju muu kohta lisateabe saamiseks lugema ka meie üldist VBA -õpetust.
Wordi makro näited
Wordi makro näited |
---|
Mallid |
Lisage uusi dokumente |
Loe sõnu valikus |
Tekstikastid |
Salvesta PDF -failina |
Järjehoidjad |
Tabelid |
Otsige ja otsige ja asendage |
Ava dokumendid |
Wordi VBA KKK -d
Mis on Wordi makro?
Makro on üldmõiste, mis viitab programmeerimisjuhiste kogumile, mis automatiseerib ülesandeid. Wordi makrod automatiseerivad Wordis ülesandeid, kasutades VBA programmeerimiskeelt.
Kas sõnal on VBA?
Jah, Microsoft Wordil on VBA redaktor. Sellele pääsete juurde, vajutades klahve ALT + F11 või navigeerides jaotisse Arendaja> Visual Basic.
Kuidas VBA -d Wordis kasutada?
1. Avage VBA redaktor (ALT + F11 või arendaja> Visual Basic)
2. Koodmooduli loomiseks avage Lisa> Moodul
3. Tippige „Sub HelloWorld” ja vajutage sisestusklahvi
4. Tippige ridade „Sub HelloWorld” ja „End Sub” vahele „MsgBox„ Hello World! ”
5. Olete loonud makro!
6. Nüüd vajutage makro käivitamiseks klahvi F5