Exwog - Excel Report Generator i ord med mall. Automatisk dokumentgenerering som genererar ett malldokument från användardata

Vi fortsätter, började tidigare ämnet för arbete med formulär i Word. I tidigare artiklar tittade vi bara på formuläret från den "avancerade användaren", d.v.s. Vi skapade dokument som är lämpliga för manuell fyllning. Idag vill jag föreslå att den här uppgiften utökar den här uppgiften och försöker använda mekanismen för innehållskontroller för att generera dokument.

Innan vi fortsätter till vår omedelbara uppgift, vill jag säga några ord om hur data lagras i Word-dokument för innehållskontroller (som de är knutna till innehållet i dokumentet, kommer jag medvetet att utelämnas, men jag hoppas att återvända till det på något sätt i följande artiklar).

En naturlig fråga - vad är itemProps1.xml och liknande komponenter? Dessa komponenter lagrade beskrivningar av datakällor. Mest sannolikt, på tanken på utvecklare, förutom XML-EG som byggdes in i dokumentet, skulle andra användas, men hittills är det bara att denna metod implementeras.

Vad är användbart för oss itempropsx.xml? Det faktum att de listade XML-scheman (deras målnamespace.) som används i föräldern itemx.xml.. Det betyder att om vi har anslutit till ett dokument som inte är en anpassad XML, då för att hitta rätt, måste vi springa itempropsx.xml. Komponenter och hitta det önskade systemet, vilket innebär att det nödvändiga itemx.xml..

Nu ett annat ögonblick. Vi kommer inte att analysera länkarna mellan komponenterna och söka efter nödvändigt, med endast den grundläggande förpackningen API! Istället använder vi Open XML SDK (dess aggregat är tillgängliga via Nuget). Naturligtvis talade vi inte om det här API, men för vår uppgift tar det minst ett minimum och hela koden blir ganska transparent.

Tja, den viktigaste introduktionen är klar, du kan fortsätta till exempel.

Enligt den nuvarande traditionen, ta alla samma "mötesrapport", som vi målade i artikeln. Låt mig påminna dig om att det här är hur dokumentmallen såg ut:

Och så, den XML som fältet i dokumentet var bundna

< meetingNotes xmlns ="urn:MeetingNotes" subject ="" date ="" secretary ="" > < participants > < participant name ="" /> < decisions > < decision problem ="" solution ="" responsible ="" controlDate ="" />

Steg 1. Skapa en datamodell

Egentligen är vår uppgift inte lätt att generera ett dokument, utan att skapa (åtminstone i utkastet till version) ett bekvämt verktyg för användning både av utvecklaren och användaren.

Därför kommer vi att förklara modellen i form av en struktur av C # -Class:

Public Class Meetingnotes (offentliga mötesnotes () (deltagare \u003d Ny lista (); Beslut \u003d Ny lista (); ) Offentlig sträng ämne (få; uppsättning;) offentligt datumdatum (få; uppsättning;) offentlig strängsekreterare (få; uppsättning;) offentlig lista Deltagare (få; uppsättning;) offentlig lista Beslut (få; uppsättning;)) offentlig stränglösning (få; uppsättning;) offentlig sträng ansvarig (få; uppsättning;) offentligt datetime trögdämpat (få; set;)) Offentlig klassdeltagare (offentligt strängnamn (få; set;))

I stort sett, inget speciellt, förutom att attribut läggs till för att styra XML-serialisering (eftersom namnen i modellen och den nödvändiga XML skiljer sig något).

Steg 2. Serialisering av ovanstående modell i XML

Uppgiften, i princip trivial. Det som kallas "ta vår favorit xmlserializer och framåt" om det inte var för en men

Tyvärr, i den nuvarande versionen av kontoret, verkar det som att felet är närvarande, vilket är som följer: Om i anpassad XML innan Meddelande om den huvudsakliga namnrymden (av vilket ord ska ta saker som ska visas), förklara någon annan, då upprepande innehållskontroller börjar visas inte sanna (endast som många element har visats som det var i själva mallen - dvs upprepande sektion gör inte fungera).

De där. Här är en sådan XML-arbete:

< test xmlns ="urn:Test" attr1 ="1" attr2 ="2" > < repeatedTag attr ="1" /> < repeatedTag attr ="2" /> < repeatedTag attr ="3" />

och det här också:

< test xmlns ="urn:Test" attr1 ="1" attr2 ="2" xmlns:t ="urn:TTT" > < repeatedTag attr ="1" /> < repeatedTag attr ="2" /> < repeatedTag attr ="3" />

men det här, inte längre:

< test xmlns:t ="urn:TTT" xmlns ="urn:Test" attr1 ="1" attr2 ="2" > < repeatedTag attr ="1" /> < repeatedTag attr ="2" /> < repeatedTag attr ="3" />

jag försökte skicka ett fel till Microsoft-support för att ansluta, men av någon anledning har jag stängt tillgång till att skicka buggar på kontoret. Och diskussionen om MSDN-forumet hjälpte inte heller.

I allmänhet den nödvändiga bypassmanövreringen. Om vi \u200b\u200bbildade XML-händer, skulle problemen inte ha uppstått - vi skulle göra allt själva. Men i det här fallet vill jag verkligen använda den vanliga XMLSerializer, som som standard lägger till flera av dess namnrymd på en utgång XML, även om dessa namnrymda inte används.

Vi kommer att göra en fullständig undertryckning av utgången från din egen namnrymd i XMLSeRializer. Det är sant att detta tillvägagångssätt kommer att fungera, bara om de och sanningen inte behöver det (annars kommer de fortfarande att läggas till och strax före vår).

Egentligen, all kod (förutsatt att variabeln mötesanteckningar. Innehåller ett tidigare avslutat objekt av typmöten):

var Serializer \u003d Ny XMLSeRializer (TypeF (Meetingnotes));
Var SerializedDatastream \u003d Ny MemoryStream ();

var Namespaces \u003d Nya Xmlserializernamespaces ();
Namespaces.add ("", "");

serializer.Serialize (SerializedDatastream, Meetingnotes, Namespaces);
SerializedDatastream.seek (0, Seekoriligin.begin);

Steg 3. Vi gick in i det resulterande XML i Word-dokumentet.

Här gör vi som följer:

  • kopiera mallen och öppna en kopia
  • vi finner i den önskade anpassade XML (letar efter namnrymd "Urn: Meetingnotes")
  • vi ersätter innehållet i komponenten på vår XML

File.copy (TemplateName, ResultdocumentName, True); Använda (VAR-dokument \u003d WordProcessName, True) (VAR XMLPART \u003d document.maindocumentpart.customxmlparts .Single (XmLPart \u003d\u003e XMLPart.CustomXMLpropertiesPart.Datastoretem.schemareferences.oftype () .AN (SR \u003d\u003e SR.URI.Value \u003d\u003d "(! Lang: Urn: Meetingnotes"!}

Vi handlar också om texter, på ett eller annat sätt. Ibland är det ett behov av att generera ett stort eller inte mycket stort antal text för några uppgifter, till exempel, spela ut med formatering, men det finns ingen text till hands, det är för lat. Vad ska man göra? Svaret är enkelt: Dra nytta av den inbyggda ordgeneratorn av slumpmässiga texter!

I redaktör Microsoft Word. Du kan snabbt och enkelt generera text med speciella kommandon. Jag kommer att använda Word 2007 som en testkanin. Dessa kommandon måste fungera i alla versioner av ordet. Jag ska berätta om de tre metoderna för att generera text.

Metod 1. Använda Rand ()

RAND () -funktionen sätter in ett lokalt textprov, 3 stycken 3 meningar. Öppna ditt ord, sätt markören till den plats där en massa text visas och ange kommandot:

och tryck på ENTER. Rand-funktionen själv kommer att försvinna och 3 stycken i texten kommer att visas istället:

Men det är inte allt. Om du behöver mycket text kan du använda RAND-funktionen med ytterligare argument, här i detta formulär:

\u003d Rand (x, y)

var " x."Betyder antalet stycken och" y."- Antalet förslag i varje stycke. Till exempel, \u003d Rand (20,5) Sätt i 20 stycken med fem fraser i vardera. MEN \u003d Rand (7) Sätt in 7 stycken för 3 meningar för var och en.

Metod 2. Använda lorem ()

För att infoga den gamla goda Lorem Ipsum som ett prov - använd funktionen Lorem (). Ange följande kommando och tryck på ENTER:

Och vi får en sådan all-latin text.

LOREM () -funktionen tar också villigt ytterligare argument, som RAND (), i form av antalet stycken och förslag. Utan argument lägger funktionen 3 stycken med tre meningar i vardera.

Metod 3. Rand.old () funktion

Använd analogt tidigare lag:

\u003d rand.old ()

och tryck på ENTER.

Funktionen RAND.OLD () är kvar för kompatibilitet med det gamla kontoret, upp till 2003 inklusive. Användningsmetoden är densamma som de föregående två, bara texten kommer att bestå av samma fraser "Ät dessa mjuka franska tjurar, ja drickte te." Denna fras känner till alla som ibland var tvungna att arbeta med teckensnitt.

Du kan överföra argument som i de två första metoderna.

Det är allt, texterna är hegened, nu kan du äta dessa mjuka franska tjurar ja dricka te :)

Fick du in text med hjälp av ovanstående funktioner?

A., efternamn i kolumnen B. och yrke i kolumnen C..

2. Skapa Word-dokument (.doc or.docx)


(A), (B) och (C).

(A), (B) och (C) (A) - namn, (B) - Efternamn, (C) - yrke.

inställningar program.

3. Välj sökvägar för filer och mappar.


VÄLJ

4. Ställ in lakan och raderna av önskade data


Excel-fildatablad

Excel File Data rader Excel-fildatablad

1 .

Om du vill ha alla ark och / eller linjer i din Excel-fil med data i bildandet av dokumentet - klicka på höger till lämplig knapp med inskriptionen Tal. (hennes inskription samtidigt kommer att ändras till Allt.).

5. Ange namnmallen för nya Word-filer


Ange namnmallen för nya ordfiler:

Nya ordfiler namn mall - Det här är en mall för namnen på det nya dokumentgenererade programmet (Word-filer). Här innehåller namnmallen namnen på Excel-filkolumnerna inramade av Figure-fästen: (A) och (B). När du bildar ett nytt dokument kommer programmet att ersätta alla (A) och (B) De motsvarande värdena för cellerna från Excel-filen är och kommer att vara namnet på det nya dokumentet (Word-filen).

Du kan ställa in dina inramningstecken på fliken. inställningar program.

6. Klicka på "Generera"


tryck på knappen Generera Och utförandet av utförandet kommer att visas på skärmen. Dokument (Word-filer) kommer att skapas exakt så mycket som Excel-filrummen deltar i bildandet.

7. Allt


Alla dokument (Word-filer) skapas och ljög i den angivna mappen Mapp för att spara de nya ordfilerna. Allt:)

Exwog - excel Report Generator i ord med mall

Gratis Word File Generator via mall (Word-fil) baserat på Excel-fildata

Fungerar i Mac OS, Windows och Linux

Gör det möjligt att ställa in namnen på nya ordfiler som genereras

Låter dig ställa in lakan och rader av nödvändiga data

Låter dig ställa in inramning av tecken för Excel-kolumner

Lätt att använda

Håll dina data i Excel-format (.xls i.xlsx) och generera Word-formatfiler (.doc i.docx) till flera klick :)


Hur det fungerar?

Ta en titt på din Excel-fil


I det här exemplet innehåller Excel-filen kundinformation. Varje rad matchar en specifik klient. Namnen finns i kolumnen A., efternamn i kolumnen B. och yrke i kolumnen C..

Klicka för att se

Skapa Word-dokument (.doc eller.docx)


Klicka för att se

Skapa en "mall" (Word-fil) för att bilda nya dokument (Word-filer). Här innehåller texten "mall" namnen på Excel-filkolumnerna inramade av Figure-fästen: (A), (B) och (C).

Programmet kommer att generera nya dokument på "mallen" som ersätter allt (A), (B) och (C) Lämpliga celler från Excel-filer: (A) - namn, (B) - Efternamn, (C) - yrke.

Du kan också ange dina inramningstecken på fliken. inställningar program.

Välj sökvägar för filer och mappar


Välj sökvägar för filer och mappar (Introduktionsknappar VÄLJ). I programmet ställer du in följande vägar:

Excel-fil med data (* .xls, * .xlsx) - Det här är vägen till din Excel-fil med data (kundinformation);

Word mallfil (* .doc, * .docx) - Det här är vägen till din "mall" (Word-fil skapad i föregående steg);

Mapp för att spara de nya ordfilerna - Det här är sökvägen till den mapp där programmet sparar nya genererade dokument.

Klicka för att se

Ställ in lakan och raderna av önskade data


Klicka för att se

Ställ in arksnumren och linjerna i din Excel-fil med data (klientinformation) för vilken du vill bilda dokument:

Excel-fildatablad - Antalet Excel-filer som kommer att vara inblandade i bildandet av nya dokument.

Excel File Data rader - Antal länder av lakan (ark som anges i Excel-fildatablad) Din Excel-fil som kommer att delta i bildandet av nya dokument. Baserat på data för varje angiven sträng, skapas ett separat dokument (Word-fil).

Numreringsark och rader i programmet börjar med 1 .

En gång efter att ha summerat Olympiad, när deltagarna var skyldiga att skicka brev med resultaten på ämnet (eller inte påstådda) ämnen, märkte jag att flickan sitter och resultaten av examen, full av skolbarn och annan information i brevet mall. Framför det låg flera ark tryckta från Excel med efternamn och betyg. Copy-Paste, Ctrl + C - Ctrl + V, översättningen av namnet från nominativet till PET PADEGE och har redan gjort arbetet med hälften av tre ark med data. Hur mycket tror du att det fortfarande kan se kopieringsdata och sedan kontrollera resultatet? Jag tänker under ganska lång tid, och det skulle inte finnas några misstag. Men hon var då tvungen att underteckna postkuvert ... Jag var ledsen för sin tid och om några minuter visade jag hur den här processen kunde automatiseras. Efter en liten utflykt slutfördes hennes arbete på 20 minuter.

I den här lektionen visar jag dig hur man snabbt skapar dokument (bokstäver, inbjudningar) som spenderar minimi. I olika versioner Språk Denna beskrivna process kallas annorlunda. Så i ryska är det "fusion", och på engelska - "Merge".

Jag hoppas att "lycka av lycka" från pensionsfond, Skatteanmälningar skapas på samma sätt :)

Instrument

För att skapa dokument behöver vi OpenOffice Writer. I det kommer vi att skapa en bokstavsmall. Du behöver samma OpenOffice Calc. I det kommer vi att skapa en bas med namnen och adresserna till de personer som vi till exempel vill bjuda in till en fest. I stället för program från OpenOffice-paketet kan MS Word och Excel enkelt användas. Databasen kan lätt ligga i MS-åtkomst. Och så fortsätt.

Databasskapande

Databasen är inget annat än ett bord i MS Excel eller OpenOffice Calc.Där data finns i kolumner, och den första raden används för att namnge kolumner. Vi börjar till exempel kolumnerna "fulla namn", "stad", "index", "adress". Vi presenterar data och sparar filen till disken.



Andra källor kan användas som databaser, till exempel adressboken Outlook, eller MS Access-databasen.

Skapa en bokstavsmall

Med skapandet av en brevmall är situationen något svårare. Eftersom mallen kommer att vara data från bordet (vår databas) för att ersätta som det är, måste brevet skrivas i enlighet med detta. Om du har namnet i databasen är namnet i det nominativa fallet, det är osannolikt att du kommer att kunna använda detta fält i omlopp "Kära,<ФИО>! " Och för kuvertet i strängen "till:<ФИО>" I det senare fallet kommer namnet att se lite närmare.

Genom att göra upp brevmallen rekommenderar jag att du börjar skriva ett brev till någon riktig person. Du kan själv. Sedan i den som ska isoleras av den data som du tar från databasen och ersätter dem med lämpliga fält. Innan du ersätter den valda texten på fältet rekommenderar jag att du uppmärksammar det brev från vilket brevet ska börja i databasen (linje eller kapital). Naturligtvis kan du göra en mall omedelbart med fälten, men då kan du inte märka några blinkar som inkonsiterande fall.



Redan i den angivna mallen är det tydligt att vi behöver ett fullständigt namn i föräldrahuset och fältet som innehåller endast namn och patronymic. Med det första fältet kan vi ersätta "till" till "mottagaren" och då är namnet i det nominativa fallet ganska lämpligt. Med det andra fältet är allt lite mer komplicerat och vi måste få en annan kolumn i databasen och fyll i den med lämpliga data. I en av följande lektioner berättar jag hur du gör det automatiskt, men för nu kommer vi att överväga vad det fält vi redan har.

För att infoga fältet och binda en mall till databasen måste du utföra följande sekvens av åtgärder. I OpenOffice Writer, välj en databas



och klicka på "Definiera" ("Bestäm").



Sätt sedan in fältet från den anslutna databasen på önskad plats. För att göra detta, tryck Ctrl + F2, eller i menyn "Infoga", välj fältet "Fält" och "Annat". I fönstret som öppnas väljer du fliken Databas, väljer Mail Merge-fält i fälttyp, välj lämpligt fält och klicka på "Infoga" från databasen. Egentligen kan databasen också väljas i det här fönstret.



När ett fält är infogat kan du inte stänga det aktuella fönstret för att markera texten för att ersätta nästa fält, välj fältet och klicka på "Pasta" igen. Och så för var och en av fälten.

För MS Word är situationen liknande något och kanske bekvämare. Efter att ha skapat ett bord i MS Excel, kör MS Word och gå till fliken "Mailing". På den här fliken kan du se de önskade stegen: "Start av fusion", "Ritning av ett dokument och fältinsats" och "Slutförande". Det finns ett annat mellanliggande steg "visningsresultat", men det är valfritt.

Och så börjar arbetet med valet av dokument. Det kan vara bokstäver, klistermärken, ett vanligt orddokument. Omedelbart kan du köra en fusionsguide som håller dig igenom alla stadier av denna process. Nästa steg är valet av mottagaren, det vill säga databaser. Här kan du välja en färdig databas (till exempel skapad i det föregående steget MS Excel-tabellen) eller skapa ny lista. Efter att listan är vald, bli aktiva knappar "Sätt i fusionsfältet", "Ändra listan över mottagare", etc. via dialogrutan "Ändra mottagarlista", som öppnas med motsvarande knapp, kan du välja från hela listan du behöver bara konfigurera posten.







När du sätter i fälten förefaller det mig bekvämt att markera alla fält med grå och klicka på knappen "Välj fälten". Annars, om det finns många sådana fält, kan de gå vilse i texten.

Och så är mallen klar.

Generering av bokstäver

Det sista steget är generering av bokstäver. I OpenOffice, för detta, i menyn "Tools" väljer du Mail Merge Wizard ... och vi skickar alla de föreslagna stegen för att kombinera vår databasmall.





I dialogrutan ser vi att några av de objekt som föreslås för oss några punkter inte kommer. Så vi har redan skapat dokumentet och vi behöver inte redigera det, blocket av adresser redan har lagts in. Men låt oss i ordning.

Först väljer vi att vi skapar bokstäver baserat på det aktuella dokumentet och klickar på "Nästa" längst ner i fönstret. Vid den andra punkten väljer du om vi har denna pappersbrev eller e-post. För att bokstaven ska sparas i filen väljer du den första. Klicka på "Nästa". Vi erbjuder att skapa en blockadress, men eftersom vi skapade det med händerna, tar vi bort alla kryssrutor och går till nästa steg. Här erbjuds vi att infoga överklagande, men vi har det också, så vi klickar på "Nästa." Den sjätte punkten kan redigeras av dokumentet, titta på dokumentet med fälten som sätts in från databasen och, om det behövs, för att utesluta vissa fält.



I steg 7 föreslås det att redigera var och en av den mallbaserade konfigurationen med fildatabasen. Slutligen, på det sista 8 steget, kan du välja vad du ska göra med de mottagna dokumenten. Du kan spara, skriva ut eller skicka e-post. I det här fallet kan du spara alla dokument i en fil, eller varje dokument separat.

I MS Word slutar fusionsprocessen med "Sök och kombinera" -knappen.



Från rullgardinsmenyn är det uppenbart att alla bokstäver kan skrivas ut och skickas via e-post, men det är inte uppenbart att alla kan sparas i filen. För att spara måste du välja det första objektet - "ändra enskilda dokument". Samtidigt öppnas nytt dokumentdär varje nytt brev kommer att vara beläget med ny sida, Och här kan den här filen sparas.

Slutsats

Och så, i den här lektionen lärde du dig hur du använder sammanslagningsverktyget för att skapa mallbaserade dokument. Låt oss kort skriva en sekvens av åtgärder:

  1. Det är nödvändigt i den tabulära processorn att skapa en databas från vilken data som ska tas för att fylla fälten.
  2. Du måste skapa en bokstavsmall.
  3. Maging och spara resultatet.

I de tidigare artiklarna i "Automation of Document Filling" -cykeln talade jag om hur man bildar ett användargränssnitt för programmet, för att organisera verifiering av att skriva in data och få ett nummer i ord utan att använda VBA-koden. I detta kommer den slutliga artikeln att prata om magiken - överför alla nödvändiga värden från Excels arbetsbok till Word. Låt oss visa dig vad som ska hända i slutändan:

Beskrivning av mekanismen

Till att börja med kommer jag att beskriva hur dataöverföringen till orddokumentet kommer att äga rum. Först och främst behöver vi en mall dokumentord.Innehåller all märkning, tabeller och den del av texten som kommer att förbli oförändrade. I den här mallen är det nödvändigt att bestämma de platser där värdena från Excel-arbetsboken kommer att ersättas, är det mest praktiska att göra detta med hjälp av bokmärken. Därefter är det nödvändigt att effektivisera Excel-data på ett sådant sätt att det överensstämmer med ordmallen och förra gången är det att skriva överföringsförfarandet självt till VBA.

Så, om allt i ordning.

Skapa en Word-dokumentmall

Här är allt extremt enkelt - skapa ett vanligt dokument och formatera text, i allmänhet uppnår vi den nödvändiga formen. På de platser där det är nödvändigt att ersätta värdena från Excel, måste du skapa bokmärken. Detta görs enligt följande:

Således måste du skapa alla bokmärken, det vill säga markera all den plats där data från Excel kommer att sättas in. Den resulterande filen måste sparas som "MS Word-mall" med menyalternativet "File" -\u003e "Spara som ...".

Förberedelse av Excel-data

Jag bestämde mig för att göra det enkelt att sätta alla data som ska överföras till Word-dokumentet, på ett separat arbetsblad med namnet Bokmärken - Bokmärken. Det finns två kolumner på detta ark: Den första innehåller namnen på bokmärken (exakt som de är namngivna i Word-dokument) och i det andra - motsvarande värden som ska överföras.

Några av dessa värden erhålls direkt från datainmatningsbladet, och delen är från hjälpborden på stödarket. I den här artikeln kommer jag inte att demontera formlerna som räknar de nödvändiga värdena om något är obehagligt - ställer frågor i kommentarerna.

I detta skede är det viktigt att korrekt ange alla namn på bokmärkena - korrektheten hos dataöverföringen beror på detta.

Överföringsförfarande

Men det här är det mest intressanta. Det finns två alternativ för att utföra dataöverföringskod:

  • Koden utförs i Excel-arbetsboken, data överförs till Word med ett värde på en gång och omedelbart placeras i dokumentet.
  • Koden utförs i ett separat orddokument, alla data överförs från Excel i ett paket.

Med tanke på hastigheten på exekveringen, speciellt med ett stort antal bokmärken, ser det andra alternativet mycket mer attraktivt ut, men kräver mer komplexa handlingar. Jag använde det och jag använde det.

Det är vad du behöver göra:

  • Skapa Word-dokumentmall med makronstöd. Denna mall kommer att innehålla den körbara koden på VBA.
  • I den skapade mallen är det nödvändigt att placera ett program skrivet i VBA. För att göra detta, när du redigerar mallen, trycker du på Alt + F11-tangentkombinationen och skriv in redigeraren i fönstret som öppnas Visual Basic. programkod.
  • I Excels arbetsbok skriver du en kod som orsakar proceduren för fyllning från den nyskapade ordmallen.

Texten i proceduren Jag kommer inte att ge i artikeln - det kan enkelt ses i filen i Fillocument.dotm, som finns i mallmappen i arkivet med ett exempel.

Hur man använder allt detta för att lösa din uppgift?

Jag förstår det i ord ser det väldigt enkelt ut, men vad händer i praktiken? Jag föreslår att du bara utnyttjar det färdiga alternativet. Ladda ner arkivet med ett exempel, i Excel-arbetsboken, klicka på knappen Alt + F11 för att öppna den visuella grundredigeraren och läsa alla mina kommentarer för programmet. För att ändra programmet till dina behov måste du bara ändra värdet på flera konstanter, de görs i början av programmet. All text i det program du kan kopiera till ditt projekt.

Arkivstruktur

Arkivet som är anslutet till den här artikeln innehåller flera filer.

Huvudfilen är Excel-arbetsboken med titeln "Skapa bekräftelser". I den här arbetsboken, 4 arbetsblad, varav endast två visas: "Input" - datainmatningsbladet och "databasen" - arkivet för alla inmatade dokument.

Mappens mapp innehåller Word-dokumentmallar. En av dem är en mall som innehåller ett programfyllningsprogram, och den andra är en form för fyllning. Du kan använda mallen med programmet utan ändringar, men formuläret för fyllning, naturligtvis måste du remake enligt dina behov.

Hur man omarbetar ett exempel "för dig själv"?

  1. Förbered orddokumentmallen du vill fylla i. Skapa alla nödvändiga bokmärken i den och spara som "MS Word-mall".
  2. Kopiera till en mapp med en beredd mallfyllocument.dotm-fil från arkivet som är anslutet till den här artikeln. Den här filen är ansvarig för att fylla mallbokmärken, och du behöver inte ändra någonting.
  3. Förbered Excel-arbetsbok för datainmatning. Du bestämmer om det kommer att ha någon "avancerad" användargränssnitt Och utför olika listiga beräkningar. Det viktigaste är att den innehåller en arbetslista med en flik i namnet på bokmärkesnamnet i ordmallen och de värden du vill ersätta.
  4. Sätt i koden för VBA-programmet till den beredda arbetsboken på VBA-filen från exempelfilen. Byt ut alla konstanter i enlighet med ditt projekt.
  5. Testa riktigheten av arbetet.
  6. AKTIVT ANVÄNDNING!
Dela med sig