Word programmeringsspråk. Skapa applikationer i VBA för MS WORD


Formatera ett dokument

Det viktigaste med att arbeta med VBA i Word är att infoga text i ett dokument när du arbetar med applikationer. För detta ändamål används Range- och Selection-objekt, som är de viktigaste för nästan alla operationer som kan utföras med Ordet VBA. Vissa av dessa åtgärder kan tillämpas på dokument som helhet, men i allmänhet behöver du ett intervall eller ett urval innan du gör ändringar. Vi kommer dock att titta på vad du kan göra med dokumentet när du skapar det.

Öppna dokumentet Word innehåller redan Range-objekt som motsvarar många av dess element. Varje stycke, tabell, tabellcell, kommentar, etc. definierar intervall. Till exempel, för att infoga text i ett befintligt dokument, måste du skriva koden:

ActiveDocument.Paragraphs(1).Range.Text = "Oxo-xo!!"

Dessutom kommer denna rad att finnas i slutet av det befintliga stycket. Å andra sidan, med hjälp av Selection-objektet, kan du också infoga lite text i dokumentet genom att använda Add-metoden och tilldela Text-egenskapen till Selection-objektet:


Selection.Text = "Det är viktigt att lära sig att arbeta med text i ett Word-dokument integrerad del programmeringskunskaper i VBA, "+TextBox1.Text+", och möter behoven hos alla programmerare!

Som ett resultat av detta programkod i Word-dokumentet kommer raden att visas: "Att lära sig att arbeta med text i ett Word-dokument är en viktig del av förmågan att programmera i VBA, Svetlana, och möter behoven hos alla programmerare!"

Beskrivning av procedurer

Private Sub CommandButton1_Click()
Om Documents.Count = 0 Då Documents.Add
Selection.Text = "När en ström med en spänning på " + TextBox1.Text + "volt passerar genom en ledare med en längd på " + TextBox4.Text + " meter, ett tvärsnitt på " + TextBox3.Text + " sq . mm och en resistivitet på " + TextBox5.Text + " Ohm*mm^2/m för " + TextBox2.Text + " sekunder kommer att markeras " + TextBox6.Text + " heat joule"
Selection.Collapse direction:=wdCollapseEnd
Avsluta Sub

Private Sub CommandButton2_Click()
Lossa mig
Avsluta Sub

Private Sub TextBox1_Change()
scet
Avsluta Sub

Private Sub TextBox2_Change()
scet
Avsluta Sub

Private Sub TextBox3_Change()
scet
Avsluta Sub

Private Sub TextBox4_Change()
scet
Avsluta Sub

Private Sub TextBox5_Change()
scet
Avsluta Sub

Private Sub scet()
If IsNumeric(TextBox1.Text) = True And
IsNumeric(TextBox2.Text) = True And
IsNumeric(TextBox3.Text) = True And
IsNumeric(TextBox4.Text) = True And
IsNumeric(TextBox5.Text) = True And Not Val(TextBox4.Text) = 0 And Not Val(TextBox5.Text) = 0 Sedan rez = ((Val(TextBox1.Text) ^ 2) * Val(TextBox2.Text) * Val(TextBox3.Text)) / (Val(TextBox4.Text) * Val(TextBox5.Text))
TextBox6.Text = Str$(rez)
CommandButton1.Enabled = Sant
Annan
TextBox6.Text = ""
CommandButton1.Enabled = False
Avsluta om
Avsluta Sub

När du arbetar med text på skrivbordet Ordblad Du måste känna till följande koder:

färgdefinition
Selection.Font.Color =
wdColorRed – röd
wdColorDarkRed – vinröd
wdColorDarkTeal – turkos
wdColorBlue – blå
wdColorGreen – grön
wdColorBlack – svart
wdColorOrange – orange

bestämning av fetthalt
Selection.Font.Fet =
wdToggle – djärvhet

definition av stil
Selection.Font.Italic=
wdToggle – kursiv stil

anpassningsdefinition
Selection.ParagraphFormat.Alignment=
wdAlignParagraphRight – högerjustering
wdAlignParagraphCenter – mittjustering
wdAlignParagraphJustify – vänsterjustering

infoga en specifik mening i texten
Selection.TypeText Text:="Exempel på att arbeta med text"
infoga en ny tom rad
Selection.TypeParagraph
ställa in bokstavsstorlek
Urval.Teckensnittsstorlek = 14

Ett av designelementen i dialogrutor är kontrollelementet Bild(teckning). Dess huvudsakliga egenskaper:

Automatisk storlek– ändrar storleken på bilden i formuläret (automatiskt eller inte);

Bild– visar grafisk fil, visas på formuläret;

pictureSizeMode – ställer in skalningen av bilden (inte hela bilden, hela ytan av objektet, helt inuti objektet);

Bildjustering– ställer in platsen för bilden inuti objektet (vänster, höger, topp, botten);
bildTilling– täcker ett föremål med en mosaik från en ritning.

Dessa egenskaper ställs antingen in i objektegenskapersfönstret eller anges i listan.

Notera . När man jobbar den här applikationen Alla inmatningsfältsvärden måste vara numeriska. VBA har en speciell funktion för att kontrollera om den inmatade strängen är en nummerpost eller inte - IsNumeric. För att kontrollera om värdena i de två sista inmatningsfälten är icke-noll, använd Val-funktionen, som konverterar ett stränguttryck till ett numeriskt om detta stränguttryck innehåller (eller alla är sammansatta av) siffror i början.

Str-funktionen gör motsatsen till vad Val gör - den konverterar numeriskt värde uttryck till en sträng, vilket gör att detta värde kan bearbetas ytterligare som en sträng.

Således konverterar funktionerna Val och Str datatyperna för de variabler de bearbetar, från sträng till numerisk respektive från numerisk till sträng.

Skapa en knapp eller panel i Word

Du kan inte tilldela en knapp eller menypost till ett formulär för att direkt anropa en applikation från Word - detta kan endast göras för moduler. Därför måste du använda följande metod. Skapa ett makro (Meny + Infoga + Modul) i öppet projekt:

Subdisken()

användarformulär1.Show

SlutetSub

Byt namn på detta makro som du vill, till exempel Teplo. Och avrätta följande åtgärder:

1. Högerklicka var som helst i verktygsfältet.

2. Välj kommandot från den här menyn inställningar(eller Service + Inställningar).

3. I dialogrutan inställningar klicka på flikikonen Lag.

4. Bläddra i listan Kategorier ner och hitta föremålet Makron. Välj det här objektet. I listan "Spara i" väljer du namnet på ditt dokument där makrot skapades.

5. Hitta önskat makro (eller VBA-program) i det högra fönstret.

6. Dra namnet på detta makro eller program till verktygsfältet.

7. Skapa en motsvarande knappetikett och, om nödvändigt, en ritning (med höger knapp möss).

8. Stäng dialogrutan Miljö, för att slutföra jobbet.

9. Som ett resultat skapas en knapp för att starta programmet.


Laboratoriearbete №5


Relaterad information.


Dess egenskaper och metoder

Word.Document-objekt, programarbete med dokumentegenskaper och metoder i VBA

Efter att vi startade Word med hjälp av applikationsobjektet, skapade (eller öppnade, eller hittade bland redan öppna) med hjälp av dokumentsamlingen - i allmänhet fick vi en länk till dokumentet vi behöver, vi kan utföra arbete med detta dokument olika åtgärder, implementerad med hjälp av egenskaperna, metoderna och händelserna för dokumentobjektet. Detta objekt har dussintals egenskaper och metoder, och här kommer vi bara att överväga de viktigaste och mest använda. Uppenbara och sällan använda egenskaper kommer att lämnas för oberoende övervägande.

Observera att dokumentobjektet kan nås utan att skapa en speciell objektvariabel. Det finns också minst tre sätt att komma åt dokumentobjektet:

  • arbeta med ett dokument som en del av dokumentsamlingen. Begärans format kan till exempel se ut så här: Documents.Item(1);
  • använda speciella nyckelord Det här dokumentet. Genom att använda den kan du få en länk till dokumentobjektet som äger den körbara filen mjukvarumodul, Till exempel:

MsgBox ThisDocument.Name

  • använd objektegenskapen Application ActiveDocument. Den här egenskapen returnerar det aktiva dokumentobjektet:

MsgBox Application.ActiveDocument.Name

eller bara

MsgBox ActiveDocument.Name

De viktigaste egenskaperna för dokumentobjektet presenteras nedan:

  • ActiveWritingStyle- aktuell aktiv stil (rubrik för en viss nivå, vanlig text, hyperlänk, etc.). Det rekommenderas att kontrollera innan du skriver in text.
  • Bifogad mall- möjligheten att ansluta en mall (med alla makron, stilar, autotextposter etc.) eller kontrollera vilken mall som är ansluten (detta kan göras manuellt via menyn Service -> Mallar och tillägg).
  • Bakgrund- returnerar ett Shape-objekt som representerar bakgrundsbilden (bakgrundsbilder är endast synliga i webbdokumentläge);
  • BuiltInDocumentProperties- Möjligheten att få en länk till DocumentProperties-samlingen med objekt med samma namn som representerar dokumentets inbyggda egenskaper (titel, författare, kategori, kommentarer, etc.);
  • Tecken- returnerar en samling Range-objekt, som vart och ett representerar ett tecken. Inte bara dokumentobjekt har den här egenskapen, utan även markerings- och intervallobjekt. Kan till exempel användas för att utföra sök- och ersättningsoperationer eller statistiska beräkningar (till exempel om översättaren betalas med antalet tecken);
  • Innehåll- en egenskap som returnerar ett Range-objekt som representerar huvuddokumentets berättelse. Enkelt uttryckt - bara texten i dokumentet, utan sidhuvuden, sidfötter, kommentarer etc.
  • CustomDocumentsProperty- en egenskap som returnerar en samling av DocumentProperties-objekt som representerar anpassade egenskaper dokumentera. Kan användas för att spara alla variabelvärden tillsammans med dokumentet. Det är väldigt bekvämt att till exempel räkna antalet dokumentöppningar, kryssrutor utskrivna/ej utskrivna, hur många gånger en viss funktion anropades, på vilka datorer och av vilken användare den öppnades osv.
  • DefaultTabStop- definiera standardindraget när du använder tabbtecknet. Standard är 35 punkter, vilket är ungefär 1,25 cm;
  • Inaktivera funktioner- inaktivera funktioner som bara de senare förstår Word-versioner(för kompatibilitet med användare som har äldre versioner på sina datorer). Vanligtvis aktiverar egenskapen DisableFeatures själv helt enkelt det här läget, och den specifika kompatibilitetsnivån ställs in med egenskapen DisableFeaturesIntroducedAfter.
  • DoNotEmbedSystemFonts- Infoga inte systemteckensnitt i dokumentet (som standard infogas de för ryska, japanska, etc.). Låter dig minska storleken på dokumentet - men då kommer användare i ett system där det ryska språket inte är installerat inte att kunna läsa detta dokument.
  • EmbedTrueTypeFonts- en mycket användbar egenskap om du arbetar med ett dokument på en plats där exotiska typsnitt används (till exempel i ett förlag). Genom att infoga true-type-teckensnitt säkerställs att mottagarna av dokumentet ser det precis som skaparen gjorde.
  • Kuvert- låter dig få en länk till ett speciellt kuvertobjekt, som används för att skapa postkuvert.
  • Fält- Möjligheten att få en länk till Fields-samlingen av objekt med samma namn. Mycket användbart när du arbetar med fält.
  • Fotnoter- förmågan att få en samling fotnoter.
  • egenskaper Formaterar...- vad som ska visas i listan med stilar i verktygsfältet Formatering.
  • FormFields- liknar Fields, men i det här fallet får vi en länk till fälten i formulären.
  • Fullständiga namn- objektets fullständiga namn (tillsammans med sökvägen till det i filsystem eller webben). Skrivskyddat, förstås.
  • Grammatikkontrollerad- markera hela dokumentet som grammatikkontrollerat (inaktivera effektivt grammatikkontroll för ett visst dokument). Samma egenskap finns för Range-objektet. En samling fel som fångats under grammatikkontroll kan erhållas med egenskapen GrammaticalErrors, och fel kan markeras med en grön vågig underlinje (om de inte redan är markerade) med hjälp av egenskapen ShowGrammaticalErrors. För stavfel finns liknande egenskaper SpellingChecked, SpellingErrors och ShowSpellingErrors.
  • Har Lösenord- kontrollera om ett lösenord har tilldelats det angivna dokumentet. Lösenord- tilldela ett lösenord. På grund av extrem svaghet lösenordsskydd Det rekommenderas inte att använda lösenord i Word, Excel och Access.
  • Index- returnerar en samling index (det vill säga ämnesindex) för ett dokument.
  • namn- returnerar dokumentnamnet (utan sökvägen till det).
  • OpenEncoding- returnerar teckentabellen som användes för att öppna dokumentet. För det ryska språket är standardinställningen, naturligtvis, 1251.
  • Utskriftsformat- låter dig få en länk till ett objekt med samma namn. Det används, naturligtvis, främst i genomförandet av utskrift.
  • Paragrafer- returnerar en länk till en samling stycken i detta dokument.
  • Väg- returnerar sökvägen till dokumentet i filsystemet (utan namn). Kan vara användbart för att skapa en annan fil på samma sökväg.
  • Lov- Möjligheten att komma åt Permission-objektet, vilket låter dig hantera det interna behörighetssystemet för ett Word-dokument (inte filsystembehörigheter).
  • PrintRevisions- huruvida redaktörens anteckningar (korrigeringar) ska skrivas ut eller inte tillsammans med dokumentet. Standard är utskrift.
  • ProtectionType- kontrollera säkerheten i detta dokument (allt är tillåtet, eller bara kommentarer, läsning, ändringar i formulärfält, etc.). Själva skyddet installeras med metoden Protec()t.
  • Endast läs- ingen förklaring krävs här. Den här egenskapen är skrivskyddad (eftersom motsvarande attribut är inställt i filsystemet).
  • RemoveDateAndTime Och Ta bort personlig information- ta bort information om datum och tid för gjorda ändringar och all information om användaren från dokumentet (inklusive dokumentegenskaper). Kan vara användbart när du skapar en exempelfil.
  • Sparad- Mycket viktig egendom. Låter dig avgöra om dokumentet har ändrats sedan det senast ändrades.
  • SaveEncoding- låter dig explicit specificera (eller hämta) kodningen som kommer att användas när du sparar dokumentet.
  • SaveFormat- låter dig få information om dokumentformatet (DOC, RTF, TXT, HTML, etc.). Skrivskyddad.
  • Avsnitt- returnerar en samling dokumentsektioner. Meningar- samma sak för förslag. Egenskaper fungerar på liknande sätt Former , Stilar, Underdokument, Tabeller, Windows Och Ord .
  • Typ- returnerar dokumenttypen (vanlig, mall eller webbsida med ramar).
  • Variabler- En annan mycket bekväm egenskap. Du kan använda den för att spara dina tjänstdata tillsammans med dokumentet, som anpassade attribut, men till skillnad från anpassade dokumentattribut är dessa egenskaper inte synliga för användare.

Nu - om de viktigaste metoderna för dokumentobjektet:

  • Aktivera()- Med den här metoden kan du göra det dokument du anger aktivt (till exempel för att skriva in text).
  • AddToFavorities()- lägg till en länk till dokumentet i katalogen "Favoriter". Det kan vara användbart om användaren arbetar med det hela tiden.
  • Kontrollera stavning() Och CheckGrammar()- kör stavningskontroll och grammatikkontroll i enlighet med detta.
  • Stänga()- stäng dokumentet. Du kan stänga med att spara (som standard), eller så kan du stänga utan att spara (om du anger lämplig parameter).
  • jämföra()- jämföra ett dokument med ett annat och generera redaktionella anteckningar på platser där skillnader finns.
  • DataForm()- möjligheten att redigera dataformulär - det vill säga data som separeras i dokumentet med fält- och radavgränsare. Generellt sett rekommenderas det att endast använda dataformulär i Word när det är absolut nödvändigt - Excel och Access är mycket mer lämpade för att arbeta med organiserad data.
  • Upptäck språk()- bestämma språket i texten. Kontrollen utförs utifrån meningar, baserat på att orden i dem kontrolleras med de inbyggda ordböckerna. Denna kontroll sker automatiskt när du skriver in text eller öppnar ett nytt dokument. För att kontrollera språk igen måste egenskapen LanguageDetected vara inställd på False.
  • FitToPages()– en mycket intressant metod. Teckenstorleken ändras automatiskt så att texten tar upp en sida mindre. Kan användas för att eliminera "hängande sidor" och andra layoutproblem.
  • Följ Hyperlink()- öppna dokumentet du angav i lämpligt program (om HTML, sedan i Internet Explorer).
  • Gå till()- en mycket kraftfull metod, finns för dokument, intervall och urvalsobjekt. I de två första fallen returnerar den ett Range-objekt, i det tredje flyttar den helt enkelt textinmatningspekaren till önskad plats. Kan gå till toppen av sidan, rad, bokmärke, kommentar, tabell, avsnitt, fält, länk, formel, etc. Kanske till ett visst antal av detta objekt, första, sista, nästa, etc. Det är mycket bekvämt att använda för att placera pekaren på rätt plats för automatisk textinmatning.
  • Sammanfoga()- Möjligheten att slå samman två dokument. Metoden är mycket komplex och kraftfull, baserad på användning av redaktionella anteckningar.
  • PresentIt()- öppnas det här dokumentet Word till PowerPoint.
  • Skriv ut()- Mycket komplex metod, vilket gör att du kan skriva ut hela dokumentet eller en del av det. Accepterar två dussin parametrar (alla valfria). Kan användas för applikations-, dokument- och fönsterobjekt.
  • Förhandsgranskning()- sätt dokumentet i förhandsgranskningsläge.
  • Skydda()- Möjligheten att begränsa ändringar av ett dokument med hjälp av ett lösenord eller IRM.
  • Räckvidd()– en mycket viktig metod. Returnerar ett Range-objekt (diskuterat nedan), med numret på intervallets starttecken och numret på sluttecknet som parametrar.
  • Göra om()- upprepa den sista åtgärden. Tar kvantitet som parameter de senaste åtgärderna, returnerar True om försöket igen lyckades.
  • Repagify()- partitionera om dokumentet i sidor. Används vanligtvis om automatisk utsättning tidigare var inaktiverad.
  • Spara()- innebörden av denna metod är uppenbar. Om dokumentet ännu inte har sparats öppnas en dialogruta Spara som.
  • Spara som()- en mycket kraftfull och komplex metod. Du kan definiera sökvägen för det sparade dokumentet, dess format, kodning, lösenord för att öppna och ändra dokumentet, infoga typsnitt och mycket mer. En mycket användbar metod, till exempel för att automatiskt konvertera dokument.
  • Välj()- låter dig helt enkelt välja hela dokumentet. Denna metod finns för mycket stor kvantitet objekt, inklusive urval och intervall.
  • TransformDocument()är en extremt kraftfull metod, men bara för programmerare som är väl insatta i XML och XSLT. Låter dig tillämpa en Extensible Stylesheet Language Transformation (XSLT) på ett dokument, med vilken du kan ändra vad du vill.
  • Ångra()- ångra ett visst antal senaste åtgärder. När det gäller syntax och funktionsprinciper - komplett analog Göra om().
  • UndoClear()- rensa ångrabufferten så att användaren inte kan återställa de åtgärder som vidtagits.
  • UnProtect()- ta bort skyddet från dokumentet (bestäms av metoden Skydda() eller vid grafiskt gränssnitt). Kan vara mycket användbart innan du programmässigt gör ändringar i ett skyddat dokument.

Dokumentobjektet har bara tre ofta använda händelser - New() (kan endast definieras för en mall, utlöses när ett nytt dokument skapas baserat på denna mall), Open() och Close(). Alla dessa egenskaper är uppenbara och initialt tillgängliga i kodredigeringsfönstret Visual Basic.

10. Programmering i ord

10.1 Varför programmera i Word

Skapa VBA-applikationer i Word, typiska situationer

Word är äldst och mest populär app, ingår i Microsoft Office. I de flesta organisationer förbereder användare dokument i Word.

Ur programmeringssynpunkt är Word i första hand ett verktyg för att ta fram rapporter på databaser. I det här fallet är en rapport varje dokument som genereras på grundval av information från databasen, till exempel ett avtal, ett acceptbevis, en order om kassakvitto, ett meddelande om kontantinsats, en order till redovisningsavdelningen, en faktura osv. Rapporter som kan genereras i Word innehåller givetvis även dokument med sammanfattande data - periodrapporter, utlåtanden m.m.

Författaren var tvungen att skapa applikationer med rapporter utvecklade i en mängd olika mjukvaruprodukter - Microsoft Access, Crystal Reports, Microsoft Reporting Services, etc. Om din applikation genererar rapporter till databaser i Microsoft Word, då kommer sådana rapporter med största sannolikhet inte att vara de snabbaste när det gäller generering och inte de enklaste när det gäller programmering. Men de kommer definitivt att vara de vänligaste mot slutanvändaren. Varför?

Mycket ofta på ett företag finns det ett behov av att bara korrigera ett par rader i rapportformuläret - till exempel, istället för "Direktör" sätta "Tillförordnad direktör". Om rapporten skapades i Crystal Reports eller Microsoft Reporting Services måste du kontakta utvecklaren omedelbart. Och efter en tid I.O. kommer att bekräftas som regissör och utvecklaren måste redigera rapporten igen.

Om rapporten från början skapas i ett Word-dokument, kan användaren alltid göra nödvändiga ändringar i det skapade dokumentet - de allra flesta användare i företaget vet hur man arbetar i Word. Det finns inget behov av att snabbt leta efter en utvecklare längre.

Det finns andra fördelar med att producera rapporter i Word. Som regel, när du producerar rapporter i Word, ersätts värden från databasen i rapportmallen, som lagras i databasen eller filsystemet (i en *.dot-fil). Om rapportformatet är komplext, med mycket specifik design (till exempel ett meddelande om kontantinsats), så är det mycket lättare att förbereda sin mall i Word än till exempel i Crystal Reports eller Reporting Services.

Annan mjukvaruapplikation Word - arbeta med olika dokumentformat. Word kan fungera med dokument av de flesta olika format. Dessa funktioner kan användas för massbearbetning dokument.

Ett fall från praktiken: i en katalog på disk har vi samlat flera hundra dokument i "olika storlekar" från olika användare. Några av dem skapades i Word olika versioner, vissa är bara textfiler, vissa dokument är i HTML-, XML- eller EML-format (meddelanden E-post). Företaget har implementerat ett dokumenthanteringssystem baserat på SharePoint Portal Server och vi måste föra alla dessa dokument till ett enda format (Word 2003) och ladda upp dem till SharePoint Portal Server. Naturligtvis, utan automatisering i en sådan situation kommer du att behöva mixtra under mycket lång tid.

Den tredje mjukvaruapplikationen i Word är att formatera dokument, till exempel, programmässigt tillämpa stilar, söka och ersätta textavsnitt i många dokument samtidigt, arbeta med dokumentstruktur, etc. Vanligtvis läggs sådana uppgifter på förlag, till exempel när man förbereder manuskript.

9.3. Visual Basic Editor

Efter att ha spelat in makrot som diskuterats ovan lades mallen Normal till nästa text makro:

Sub Arial_10_bold()

" Arial_10_bold Makro

“ Arial 10 Bold

Med Selection.Font

Underlinje = wdUnderlineIngen

UnderlineColor = wdColorAutomatic

StrikeThrough = False

DoubleStrikeThrough = False

Kontur = Falskt

SmallCaps = Falskt

AllCaps = False

Färg = wdColorAutomatic

Gravera = Falskt

Upphöjd = Falskt

Subscript = False

Animation = wdAnimationNone

Visst, för användare som inte är bekanta med programmering, kommer sådan text att verka mycket komplex, men vid närmare granskning visar det sig att detta är en enkel uppsättning parametrar som är inställda eller inte inställda. Ställ in parameter betecknas med ordet Sant och ospecificerat med Falskt.

För att spela in makron, som för andra kommandon, använder Microsoft Word språket Visual Basic for Applications (VBA, Visual Basic for Applications). Ett makro är en uppsättning kommandon och satser i VBA. Varje kommando och åtgärd i Microsoft Word representeras som strängar i VBA-format, och processen att spela in ett makro involverar också bildandet av sådana strängar. Därmed har användaren möjlighet att ändra eller skapa ett makro utan återutförande hela proceduren. Fastän VBA makro kan skapas i vilken textredigerare som helst, försumma inte möjligheten att spela in ett makro i Word. Makro skapat av Microsoft hjälp Word kan du lägga till nya kommandon och funktioner, och du kan också lära dig VBA-språket med hjälp av sådana makron.

Makron kan redigeras med särskild nytta, som ingår i Microsoft Office, är Visual Basic-redigeraren (Fig. 9.10).

Ris. 9.10. Visual Basic Editor-fönster

Det här programmet innehåller funktioner som låter dig arbeta med ett makro: testa, felsöka, köra. Med den här redigeraren kan du lägga till, ändra och ta bort objekt i makron, skapa anpassade dialogrutor, felsök koden för programprocedurer, visa och välj komponenter i aktuella projekt och bibliotek, bestämma utseendet och beteendet hos makroobjekt vid körning och mycket mer.

Du kan öppna Visual Basic Editor-fönstret på flera sätt, till exempel genom att klicka på Visual Basic-knappen på utvecklarpanelen.

Från boken Programmering författare Kozlova Irina Sergeevna

3. Visual Basic-variabler I Visual Basic samlar variabler information (värden). När de används tar Visual Basic upp ett område i datorns minne som är avsett att lagra denna information. Variabelnamn som består av tecken kan vara upp till 255 tecken långa.

Från boken Windows-registret författare Klimov Alexander

Visual Basic Registrera dll- och ocx-filer Den här anteckningen kommer att vara användbar för utvecklare. Om du ofta måste arbeta med ocx-filer (liksom dll-filer) som kräver registrering i registret med REGSVR.EXE, så kommer det att vara mycket bekvämare att göra en motsvarande post i registret än

Från boken The C# 2005 Programming Language and the .NET 2.0 Platform. av Troelsen Andrew

Visual Basic 6.0-metoden Med en genuin önskan att njuta av ett enklare liv har många programmerare flyttat bort från "ramvärlden" av C(++)-baserade applikationer till mer användarvänliga språk som Visual Basic 6.0 (VB6) ). VB6-språket har blivit populärt på grund av vad det ger

Från boken Windows-registret författaren Klimov A

Från boken BPwin och Erwin. CASE utvecklingsverktyg informationssystem författare Maklakov Sergey Vladimirovich

Visual Basic 6.0 I Visual Basic 6.0, till skillnad från den femte versionen, visas kod- och objektfönstren i normal, inte utökad form. Och varje gång du startar VB6 måste du öppna dessa fönster. Du kan tvinga dessa fönster att öppnas automatiskt varje gång du startar dem. Skapa i lämpligt avsnitt

Från boken VBA for Dummies av Steve Cummings

2.4.2. Kodgenerering i Visual Basic ERwin stöder kodgenerering för MS Visual Basic version 4.0 och 5.0. Informationskällan vid generering av formulär är modell ERwin. Genom att använda ERwin kan du samtidigt beskriva både klientdelen (objekt som visar data på skärmen),

Från boken Programmering för Pocket PCs författare Volkov Vladimir Borisovich

Vad är visuellt i Visual Basic for Applications? Lyckligtvis eliminerar VBA i stort sett behovet av tråkig kodning. I vissa fall skriver du ner de kommandon som behövs i applikationen och använder dem som utgångspunkt när du skapar ett nytt program.B

Från boken Delphi Virtual Library av författaren

VBA vs Visual Basic Förutom det faktum att VBA inte tillåter dig att skapa individuella ansökningar, en av huvudskillnaderna är att program skrivna i VBA är långsammare än program skrivna i Visual

Från författarens bok

Skillnader mellan VBA och Visual Basic VBA har mycket gemensamt med Visual Basic, dess äldre bror designad för att skapa oberoende applikationer. Och eftersom språken är liknande kan du överföra de flesta av dina VBA-programmeringskunskaper till Visual Basic. Du bör dock komma ihåg

Från författarens bok

Anropa Visual Basic Editor Visual Basic Editor fungerar som ett kommandocenter för att arbeta i VBA. Du bör vara med när du utvecklar VBA-formulär, skapar VBA-kod, testar och felsöker VBA-program. Du kommer att bli expert på att använda Visual Basic Editor efter att ha läst kapitel 5, men för nu

Från författarens bok

En kort introduktion till Visual Basic Editor Första gången du använder Visual Basic Editor kan vara förvirrande. Förekomsten av menyer och verktygsfält överst på skärmen kommer förmodligen att verka bekant för dig, men vad betyder detta överflöd av fönster? Förutsäg dem ömsesidigt arrangemang

Från författarens bok

Kapitel 5. Visual Basic Editor till din tjänst. I det här kapitlet...~ Hitta kommandon i Visual Basic Editor-menysystemet~ Visa, flytta och anpassa verktygsfält~ Förstå och använda Dock Toolbars och Windows~ Slåss mot skaror av Visual Basic Editor Windows~

Från författarens bok

Användargränssnitt för Visual Basic Editor Visual Basic Editor är standardpris från Microsoft – menyer, verktygsfält och kortkommandon ser ut och fungerar väldigt likt Microsoft Office. Du kommer att känna dig som hemma om du använder VBA med Office-program.

Från författarens bok

eMbedded Visual Basic 3.0-utvecklingsmiljö För korthetens skull kommer förkortningen eVB att användas i det här kapitlet för att referera till eMbedded Visual Basic 3.0-miljön. Du kan starta eVB antingen med hjälp av kommandot Start-menyn (Start? Program? Microsoft eMbedded Visual Tools? eMbedded Visual. Basic 3.0), eller sök efter i installationsmappen

Från författarens bok

Skillnader mellan eVB och Visual Basic för. NET I grund och botten är skillnaderna mellan VB.NET och eVB relaterade till integrationen av VB-språket med Compact Framework och bestäms exakt av den interna strukturen för CF själv. Datatyper I eVB fanns det en enda datatyp för alla tillfällen. Variant, som eVB ärvt från VB Script. Visuell

Från författarens bok

Delphi och Visual Basic 1. Finns det en Delphi-motsvarighet till Visual Basic-kontrollmatrisen? Nej. Delphi komponenter har inte en Index-egenskap som VB. Det finns dock tre huvudsakliga skäl till varför du skulle vilja använda dem i VB, och det finns en lösning för var och en av dem i Delphi. Anledning 1. Du vill

Den här boken hjälper dig att bemästra den integrerade VBA-utvecklingsmiljön och lära dig hur du programmerar i VBA med hjälp av objekt, deras egenskaper, metoder och händelser. De diskuterade programmeringsteknikerna illustreras med exempel som du direkt kan prova i praktiken. Du kommer att kunna tillämpa den kunskap som erhållits för att konfigurera och förbättra populära kontorsapplikationer, inklusive Office-applikationer XP och för att skapa dina egna applikationer.

Boken är avsedd för dig som snabbt och enkelt vill lära sig programmera för Windows med VBA.

Bok:

Arbeta med text i Word VBA

Arbeta med text i Word VBA

Objekten Range och Selection är startpunkterna för nästan alla operationer du kan göra med text med Word VBA. Vissa av dessa åtgärder kan tillämpas på dokument som helhet, men i allmänhet behöver du ett intervall eller ett urval innan du gör ändringar.

Range- och Selection-objekt har mycket gemensamt, men det finns några viktiga skillnader. Båda objekten representerar sammanhängande sekvenser av tecken som du kan utföra olika operationer på. Båda objekten har många gemensamma egenskaper och metoder. Vissa egenskaper och metoder är dock unika för urval och andra är unika för intervall. En annan betydande skillnad är att ett urvalsobjekt motsvarar en markering i ett fönsterområde: text, en grafik eller något annat objekt, medan Range-objekt existerar oberoende av markeringen och alltid innehåller text.

Använd markeringsobjektet om din procedur beror på användaren, till exempel måste användaren ange texten som vissa åtgärder ska utföras på, eller om du behöver visa användaren exakt vilken text som ska ändras. I andra situationer är Range-objekt mycket bättre lämpade. De bidrar högre hastighet körning av program och är mindre skrämmande för användaren: Word uppdaterar skärminnehållet när innehållet i det valda området ändras, och skärminnehållet uppdateras inte när intervallet ändras. Dessutom återspeglas inte intervalländringar i användarskapade val.

Trots deras skillnader kan urvals- och intervallobjekt skapas från varandra. Denna funktion är extremt viktig eftersom många redigeringsfunktioner bara fungerar med intervall. Däremot är det enda sättet att visa innehållet i ett intervall för användaren att markera det. Använd följande enkla tekniker.

* För att välja ett intervall, använd dess Select-metod. Till exempel, för ett RangeR-objekt är kommandot RangeR. Välj.

* För att komma åt ett intervall som representerar samma innehåll som det valda området, använd egenskapen Range.

Kom ihåg: om en metod relaterad till textdata anropas på ett intervall och du vill tillämpa den på urvalet, inkludera helt enkelt en Selection-sats i din kod. Räckvidd. Metodnamn.

Word VBA erbjuder en mängd olika metoder för att flytta och ändra storlek på intervall och urval. I detta avsnitt tar jag bara upp de viktigaste av dem; Du måste konsultera hjälpsystemet för andra metoder.

Expandera-metoden utökar ett befintligt intervall eller urval genom att lägga till ett textblock i slutet. Ett block kan vara ett tecken, ett ord, ett stycke eller något annat. Du kan bara lägga till ett fördefinierat block; Dessutom är det inte tillåtet att lägga till sådana block i början av ett intervall eller val.

För att lägga till ett ord i det markerade området som kommer omedelbart efter det, använd följande instruktion:

Selection.Expand(wdWord)

Du kan använda någon av följande konstanter för att utöka ett objekt; wdCharct er, wdWord, wdSentence, wdParagraph, wdSection, wdStory, wdCell, wdColumn, wdRow, wdTable och (endast för urvalsobjekt) wdLine. Standard är wdWord-konstanten.

Nu finns det en klibbig punkt vi bör ta itu med: Markeringsobjekt (men inte intervall) innehåller också en Expand-metod. Denna metod inkluderar lämpliga Word verktyg, vilket låter dig expandera det markerade området när du flyttar muspekaren. Varje gång programmet anropar Extend-metoden utökas markeringen med textblocket som omedelbart följer efter insättningspunkten: det aktuella ordet, meningen, stycket, markeringen eller hela dokumentet. Om du angav argumentet som ett enda tecken, till exempel Selection.Expand("C"). det valda området kommer att utökas till det första angivna tecknet.

Word VBA låter dig omdefiniera början och slutet av ett intervall eller ett urval. Tänk bara på att metoder som innehåller ordet Flytta i sina namn ändrar platsen för intervallet eller markeringen: de flyttar inte texten i det angivna objektet.

Flytta-metoden ändrar intervallet eller markeringen genom att börja förminska den, markera dess plats och inte längre ha någon text i den. Platsen sammanfaller med början av det ursprungliga objektet. Flytta-metoden flyttar sedan det "komprimerade" objektet enligt dina instruktioner. När flytten är klar kan du använda metoderna Expand och Mover,nd för att fylla objektet med text.

Följande exempel flyttar ett namngivet område två stycken tillbaka i dokumentet. Observera att du använder en namngiven konstant som värdet på Uni t-argumentet (för en lista över alla giltiga namngivna konstanter, se

"Utöka intervall och urvalsområden" tidigare i detta kapitel). Argumentet Count är ett positivt heltal om du vill flytta objektet framåt genom dokumentet (det vill säga mot slutet), eller ett negativt heltal om du vill flytta objektet bakåt genom dokumentet. I exemplet nedan är argumenten inte omgivna inom parentes eftersom metodens returvärde (antalet flyttade element) inte används:

oTheRange .Move Unit: = waParagraph, Count, : = -2

MoveStart metoder. och MoveEnd fungerar ungefär på samma sätt som Move-metoden, bara de ändrar start- eller slutpunkten för ett intervall eller ett urval. Följande instruktion flyttar början av markeringen tre ord närmare slutet av dokumentet:

Select-on.KoveStart Unit:= wdWord, Count:= 3

Observera att om du flyttar startpunkten för ett objekt till slutet, kommer Word att krympa intervallet eller markeringen och flytta den enligt instruktionerna.

Ett annat par metoder, Start Of eller EndOf, kommer att blanda eller utöka början eller slutet av ett intervall eller ett urval. Start Of-metoden flyttar början av objektet tillbaka till början av det aktuella blocket, medan EndOt-metoden flyttar slutet av objektet framåt till slutet av det aktuella blocket.

Du kan använda argumentet Extend med valfri metod för att styra vad Word gör. Om den blandade sidan av objektet redan är på kanten du försöker flytta det till händer ingenting. Använd konstanten wdMove för att krympa ett objekt, eller konstanten wdExtend för att bara flytta den angivna sidan. Nedan är ett relevant exempel:

Urval. Start av enhet:= wdSentence, Extend:= wdMove

Mycket ofta behöver du komprimera ett område eller ett urval till en punkt som inte innehåller någon text. Tekniskt sett är ett kollapsat område eller urval en vars start- och slutpunkter är desamma. Att komprimera sådana objekt är viktigt i situationer där du behöver infoga ett fält, tabell eller annat element före eller efter ett valt område eller område utan att ersätta texten. (Du kan infoga vanlig text, nya stycken och några andra objekt i det "okomprimerade" intervallet eller markeringen.)

Använd metoden för att komprimera för att komprimera ett område eller en markering. Du kan krympa ett objekt till dess start- eller slutpunkt med hjälp av valfritt argument Riktning Följande uttalande krymper urvalet till dess utgångspunkt:

Urval.Komprimera

Och detta exempel krymper urvalet till dess slutpunkt:

Selection.Collapse(Direction:=wdCollapseEnd)

Om du komprimerar ett intervall som slutar med ett styckemärke till dess slutpunkt (med konstanten wdCollapseEnd), placeras Word komprimerat område efter stycketecknet (detta betyder att det komprimerade området kommer att finnas i nästa stycke). Om du vill placera något före det ursprungliga intervallets styckemärke, måste du först flytta intervallet tillbaka med MoveEnd-metoden, med en sats så här:

Range.MoveEnd Unit:= wdCharacter, Count:= -1

Det är enkelt att ta bort all text i ett område eller ett urval: använd bara metoden Ta bort för motsvarande objekt. Du kan också använda metoden Klipp ut om du vill ta bort text och placera den på urklippet. Självklart kopierar Sorus metod texten till klippbordet utan att det påverkar texten i intervallet eller urvalet.

Du kan klistra in text som tidigare placerats på urklippet i valfritt område eller val genom att använda objektets Klistra in metod. Om målobjektet ännu inte har komprimerats kommer den inklistrade texten helt enkelt att ersätta originaltexten i objektet, precis som när du kör kommandot Klistra in i Word.

Även om det verkar ganska vanligt att använda urklipp för att överföra text från en plats till en annan, är denna metod inte alltid den mest effektiva. Det är mycket bekvämare att använda egenskaperna Text eller FormattedText för ett intervall eller urval. Ställ in dessa egenskaper på intervallet eller urvalet som innehåller texten du vill förmedla, och det är allt. Målobjektet måste komprimeras tills den skickade texten måste ersätta befintlig text i objektet.

Följande kodavsnitt överför texten från markeringen till ett komprimerat område bundet till bokmärket (den fjärde kodraden utför överföringsoperationen). Endast själva texten kommer in på den nya platsen; någon formatering går förlorad:

Med ActiveDocument.Bookmarks("TheBookmark")

ActiveDocument.Range(Start:=.Start, End=.Start)

RangeY.Text = Selection.Text

För att skicka vidare texten och formatera den, ersätt helt enkelt egenskapen Text med egenskapen FormattedText.

Den enklaste tekniken att komma ihåg för att lägga till text är att ställa in egenskapen Text för intervallet eller markeringen till den text du väljer att infoga. Detta illustreras av exemplet nedan:

Range2.Text = "Hej, hej! Men det finns ingen hemma!"

Kom bara ihåg att användningen av egenskapen Text kommer att ersätta allt som finns på objektet. För att undvika detta (om du inte verkligen vill ersätta befintlig text), förminska objektet först.

Använd metoderna Infoga före eller Infoga efter för ett områdes- eller markeringsobjekt för att infoga text på en specifik plats i dokumentet utan att påverka befintlig text. Dessa metoder låter dig infoga ny text omedelbart före eller efter det angivna objektet. Word inkluderar den inklistrade texten i ett valt område eller område.

När du använder någon av metoderna är det enda argumentet texten du vill infoga. Följande kodavsnitt infogar ett nytt stycke som innehåller orden Dairy Entry i början av urvalet (observera användningen av VBA-konstanten vbCr för att lägga till ett styckemärke). Efter detta läggs ett nytt stycke till i slutet, som börjar med det aktuella datumet. Om du valde ett helt stycke innan du körde den här koden, kommer stycket som innehåller dagens datum, visas efter styckemärket i det markerade området.







2024 gtavrl.ru.