Wordi makro näited ja VBA õpetus

Tere tulemast meie Word VBA / Macros mega-juhendisse!

See leht sisaldab:

    1. Word VBA õpetus PDF (tasuta allalaadimine)
    2. Word VBA „Pettusleht”, mis sisaldab kõige sagedamini kasutatavate Word VBA koodilõikude loendit
    3. Täielik Wordi VBA / makroõpetus.
    4. 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: = wdStory
Valik. 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 Document
Mää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 Variant
varNumberPages = _
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

wave wave wave wave wave