Dataudveksling med Word

Parent Previous Next

I dette punkt forklares hvordan man opretter felter i Word breve (eller Word dokumentskabeloner *.dot), der kan udfyldes med oplysninger fra kartoteksfelter i STRATO. I Word kaldes sådanne felter for formularfelter eller bogmærker. Da disse felter har det formål at vise data fra STRATO, kaldes felterne også for flettefelter. Når man udskriver Word breve med oplysninger fra STRATO, udføres en flettefunktion mellem felterne i Word og felterne i STRATO. Det følgende er en gennemgang af Word procedurerne. Til sidst er vist en oversigt over de særlige bogmærker, der anvendes i Word-versionen af Indbetalingskort/Girokort.

 

 

Værktøjslinien Formularer (Før Word 2007).

 

Hvis værktøjslinien ikke er fremme på skærmen, skal man kalde den frem med Vis - Værktøjslinier - Formularer.



Til brug for flettefelter til STRATO skal man kun anvende de 2 første felttyper nemlig ’Tekstfelt i formular’ og ’Afkrydsningsfelt i formular’. Mens der findes et specielt felt til afkrydsning bruges ’Tekstfelt i formular’ til alle andre former for oplysninger fra STRATO dvs. tekst, heltal, kommatal, beløb og datoer.



Udviklermenuen (Word 2007 og senere)


Vælg Udvikler. Under Kontrolelementer vælges Ældre funktioner. Nu er felttyperne 'Tekstfelt' og 'Afkrydsningsfelt' tilgængelige. Hvis Udvikler-menuen ikke kan ses på skærmen, vælges Filer - Indstillinger. Vælg punktet Tilpas båndet og sæt mærke i 'Udvikler'.  



Indsæt formularfelt.

 

Sæt markøren hvor formularfeltet skal stå i dokumentet. Klik derefter på ’Tekstfelt i formular’ eller ’Afkrydsningsfelt i formular’. (Brug aldrig ’Kopier’ (Ctrl+C) og ’Sæt ind’ (Ctrl+V) for at kopiere et eksisterende formularfelt, da Word er ustabil i denne funktion).

 

 

Definer flettefunktion.

 

Marker formularfeltet og højreklik. Vælg Egenskaber.


I feltet ’Bogmærke:’ skal STRATO’s feltkode indtastes. Det viste bogmærke ’Lejemaal01_21’ er koden for første linie i brevadressen. Se STRATO’s Vis - Felter. Feltkoden kan overføres via udklipsholderen:   

     STRATO: Vælg Vis - Felter og dobbeltklik på feltet eller tryk på ENTER .

     WORD: Sæt markøren i feltet ’Bogmærke:’ og tryk CTRL+V.

 

Der vælges mellem følgende ’Typer’:

 

     Tekst: vælges til tekstfelt i STRATO

     Tal: vælges til felter med heltal, kommatal og beløb i STRATO

     Dato: vælges til datofelter i STRATO

 

Til den enkelte type findes et formatfelt:

 

     Tekstformat: feltet udfyldes ikke

     Talformat: for heltal vælges ’0’, for beløb vælges ’#.##0,00’ og for kommatal kan f.eks. vælges ’0,0’

     Datoformat: vælg ’dd-MM-yyyy’

 

NB. Hvis et STRATO-felt skal bruges mere end én gang i et dokument, skal der anvendes et modificeret feltnavn som bogmærke, da der ikke må forekomme identiske bogmærkenavne. Eksempel: Hvis første linie i brevadressen ’Lejemaal01_21’ skal anvendes 2 gange kan man i det første bogmærke skrive ’Lejemaal01_21_A’ og i det andet ’Lejemaal01_21_B’. Denne metode anvendes f.eks. ved opbygning af en etiketskabelon. Der er et særligt krav til påkravsbrevene, hvor specifikationerne hentes fra filen ’Selskab30’. Her skal bogmærkenavnet afsluttes med et tal, f.eks hentes postteksten v.hj.af ’Selskab30_11_1’ for linie 1, ’Selskab30_11_2’ for linie 2 og ’Selskab30_11_10’ for linie 10.


 

Kombibrev

  

Et kombibrev er et brev, der skal indeholde oplysninger fra 2 lejemål. Det vil typisk være flyttemeddelelser, hvor både den fraflyttede lejer og den nye lejer skal nævnes. Her anvendes bogmærkeprincippet fra etiketskabeloner. Alle bogmærkenavne for 1. lejemål skal slutte med '_A' og med '_B' for 2. lejemål. Bogmærkenavnet for første linie i brevadressen vil for de 2 lejemål da blive ’Lejemaal01_21_A’ og ’Lejemaal01_21_B’. Hvis et databasefelt skal anvendes mere end en gang i dokumentskabelonen, kan bogmærkenavnet for de 2 lejemål udvides til henholdsvis ’Lejemaal01_21_A0’ og ’Lejemaal01_21_B0’.   

  

 

Beskyt dokument.


Som hovedregel gælder, at en dokumenskabelon skal være beskyttet. Vælg Funktioner - Beskyt dokument.



Word 2003:

Udfyld ’Tillad kun denne type redigering i dokumentet:’. Fra dropdown-listen vælges ’Udfyldning af formularer’. Tryk derefter på ’Ja, aktiver beskyttelse’.

 

Word 2007 og senere:

Vælg Udvikler. Vælg Beskyt dokument. Udfyld ’Tillad kun denne type redigering i dokumentet:’. Fra dropdown-listen vælges ’Udfyldning af formularer’. Tryk derefter på ’Ja, aktiver beskyttelse’.

DET ER VIGTIGT AT VÆLGE ’UDFYLDNING AF FORMULARER’. I MODSAT FALD VIL UDSKRIFTEN FORLØBE UFORUDSIGELIGT.


Gem dokument.


Når redigeringen af dokumentskabelonen er færdig, skal den gemmes. Vælg Filer - Gem som. Vælg Filtypen ’Dokumentskabelon (*.dot)’. Gem dokumentskabelonen i STRATO’s dokumentmappe. Se STRATO’s Opsætning - Udskrifter - (F)Dokumenter.


Hvordan udskrives til en fast papirbakke ?


I Word findes en mulighed for at specificere en fast papirbakke ved udskrift af det enkelte dokument. Til det formål vælges fanebladet Sidelayout. Herunder er vist, hvor man nu finder funktionsknappen Sideopsætning. I sideopsætningsvinduet kan man vælge papirbakken fra fanebladet Papir som vist herunder.


       


       


Beregninger i Word dokumentskabelon (makro).


Hvis man ønsker at udskrive et tal, som ikke allerede ligger i et STRATO felt, men som kan beregnes ud fra tal i STRATO, skal der oprettes en MAKRO, som skal indeholde den nødvendige beregning. En makro skal skrives i programmeringssproget Visual Basic.

 

I Word er der indstillinger, der hindrer brugen af makroer i dokumenter. Da mange dokumenter er baseret på indbyggede makroer, må man sikre, at Word på den pågældende arbejdsstation tillader brugen af makroer. Indstillingerne er forskellige i de forskellige Word versioner. I Word 97 slår man op under Funktioner - Indstillinger... - (F)Generelt Funktioner - Makro - Sikkerhed... - (F)Sikkerhedsniveau. Vælg ’Lav’. I Word 2007 vælger man fanebladet Udvikler. Vælg Makrosikkerhed. Vælg Indstillinger for makro og tryk på Aktiver alle makroer (...). Tryk til sidst på OK. 

 

 

EKSEMPEL 1:

 

Som eksempel vælger vi det brev til varmeopgørelsen, der skal sendes til de lejere, der skal have refunderet aconto varme. I brevet oprettes bogmærket ’Lejemaal41_17’. Dette felt i STRATO indeholder reguleringsbeløbet men som et negativt tal og vi ønsker, at beløbet skal skrives som et positivt tal altså uden fortegn. Vi skal lave en makro, som kan fjerne fortegnet.

 

Opret makro.

 

1.  Vælg Funktioner - Makro - Makroer ... (ALT+F8).

2.  I feltet ’Makroer i:’ vælges den aktuelle skabelon (makroen skal kun bruges her).

3.  I feltet ’Makronavn:’ indtastes et navn på makroen f.eks ’Fortegn’.

4.  Tryk på Opret.

5.  Skriv makroen.

6.  Vælg Filer - Luk, og vend tilbage til Microsoft Word (ALT+Q).


Forklaring:

Reguleringsbeløbet lægges ind i a$. Det undersøges, om tallet begynder med ’-’. Hvis dette er tilfældet, benyttes tallet bortset fra fortegnet. Bemærk at der sker en dobbelt konvertering: CDbl konverterer en tekststreng til et tal og CStr konverterer et tal til en tekststreng.

 

 

EKSEMPEL 2:

 

En huslejevarsling indeholder både efterregulering, regulering af forudbetalt leje og regulering af depositum. Følgende oplysninger i form af formularfelter ønskes i varslingen.

 

Årlig leje

Bogmærke ’Lejemaal27_20’

Fra STRATO


A.  Leje pr. termin

Bogmærke ’LejePrMaaned’

Beregnes


B.  Efterregulering

Bogmærke ’Lejemaal27_10’

Fra STRATO


C.  Reg. af forudbetalt leje

Bogmærke ’Lejemaal27_25’

Fra STRATO


D.  Reg. af depositum

Bogmærke ’Lejemaal27_28’

Fra STRATO


Ialt at betale (A+B+C+D)

Bogmærke ’Ialt’

Beregnes


 

Opret en makro med navnet 'Beregn'.


Forklaring:   

Den årlige leje lægges ind i a$. Beløbet divideres med 12 og vi har Leje pr. termin. Herefter læses beløbene et efter et og summeres i x, som til sidst placeres i Ialt.

 

 

Hvordan bruges makroer ?.

 

I det foregående er det vist, hvordan man opretter formularfelter og makroer. Beregningen i en makro vil dog først træde i kraft, når makroen kobles til et formularfelt. Dette gøres v.hj.af felterne ’Afspil makro ved - Indgang:’ eller ’Afspil makro ved - Udgang:’ i formularfeltets egenskaber. Vælg makroen med dropdown listen. Som hovedregel gælder, at en makro skal kobles til Udgang. I eksempel 1 vil man koble makroen ’Fortegn’ til ’Udgangen’ af bogmærket ’Lejemaal41_17’. Indgang/udgang skal forstås ud fra en manuel udfyldelse af en formular. En makro, der er koblet til indgangen, vil blive udført, når man sætter markøren i feltet for at udfylde det. En makro, der er koblet til udgangen, vil blive udført, når man har tastet i feltet og flytter markøren bort fra feltet. Når et Word brev udskrives af STRATO, vil en makro, der er koblet til udgangen, blive udført, når STRATO har udfyldt feltet og går videre til næste felt.

 

1. Manuelt udskrevne formularer:

 

Dette er Word-breve, der kommer op på skærmen og som brugeren selv printer ud. Det er især ved ind- og fraflytning, at denne metode anvendes. Brugeren kan ændre i data, der vises i formularfelterne, før brevet skrives ud. DER KAN IKKE ÆNDRES I BREVET UDEN FOR FELTERNE. Der kan kobles makroer til samtlige formularfelter.

 

 

2. Automatisk udskrevne formularer:

 

Dette er Word-breve, der udskrives direkte af STRATO. Metoden anvendes f.eks. ved huslejevarsling og varmeregnskabsafslutning. Følgende regler gælder for brugen af makroer:

 

     En makro, der skal udføres før flettefelterne udfyldes, skal have navnet ’Start’.

     En makro må KUN kobles til bogmærker med eksisterende STRATO feltnavne.

     En makro, der skal udføres efter at alle flettefelterne er udfyldt, skal have navnet ’Slut’.

 

I eksempel 2 må der således ikke kobles makroer til ’LejePrMaaned’ og ’Ialt’. Sådanne makroer vil ikke blive udført.

 

For at forstå hvordan et dokument udfyldes automatisk, er der herunder vist rækkefølgen af de forskellige aktioner:

 

1.   En eventuel ’Start’-makro udføres.

2.   Herefter gennenløbes flettefelterne et efter et i den rækkefølge de er placeret i dokumentet.

2.1   En eventuel indgangsmakro udføres.

2.2   Feltet udfyldes fra STRATO.

2.3   En eventuel udgangsmakro udføres.

3.   En eventuel ’Slut’-makro udføres.

 

 

Hvordan undertrykkes enkelte breve ?.

 

Vi starter en udskrift af breve til alle lejere i en ejendom, men ønsker at undertrykke udskriften for nogle bestemte lejemål. Først skal vi identificere betingelsen for at et brev skal udskrives. Dernæst skal betingelsen programmeres i en makro. Et brev undertrykkes, hvis der i brevet findes et bogmærke med navnet ’EjPrint’. Det udtryk, som genererer et bogmærke med navnet ’EjPrint’ og som skal indtastes i makroen er følgende

 

ActiveDocument.Bookmarks.Add ("EjPrint")

 

EKSEMPEL 3:

 

Et brev skal udskrives til alle lejere med en begyndelsesdato på 01-01-2001 eller senere. I brevet oprettes et formularfelt med bogmærket ’Lejemaal01_42’, som er STRATO-feltet med begyndelsesdatoen.

 

Opret følgende ’Slut’-makro:

 

Sub Slut()

Dim Dato1, Dato2 As Date

   Dato1 = ActiveDocument.FormFields("Lejemaal01_42").Result

   Dato2 = "01-01-2001"

   If Dato1 < Dato2 Then

     ActiveDocument.Bookmarks.Add ("EjPrint")

   End If

End Sub

 

Forklaring:

 

Begyndelsesdatoen fra lejemålet placeres i variablen Dato1. I Variablen Dato2 placeres datoen 01-01-2001. Hvis Dato1 ligger før Dato2 genereres bogmærket ’EjPrint’ og brevet udskrives ikke.

 

Også etiketter kan undertrykkes med bogmærket ’EjPrint’. Her skal bogmærket genereres i hver enkelt etiket.

 

EKSEMPEL 4:

 

En etiket skal kun udskrives, hvis der til lejeren er knyttet et medlemsnummer i feltet ’Medlemsnr.’ i (F)Lejer - (F)Navn. I hver enkelt etiket oprettes et formularfelt for medlemsnummeret (Lejemaal01_27_A0, Lejemaal_27_B0 osv.).

 

Opret følgende 2 makroer:

 

Sub KontrolA()

   On Error Resume Next

   ActiveDocument.Variables.Add Name:="Value1"

   ActiveDocument.Variables("Value1").Value = "64"

   a = CInt(ActiveDocument.Variables("Value1").Value) + 1

   ActiveDocument.Variables("Value1").Value = CStr(a)

   navn = "Lejemaal01_27_" + Chr(a) + "0"

   If ActiveDocument.FormFields(navn).Result = "" Then

     ActiveDocument.Bookmarks.Add ("EjPrint")

End Sub

 

Sub KontrolB()

   a = CInt(ActiveDocument.Variables("Value1").Value) + 1

   ActiveDocument.Variables("Value1").Value = CStr(a)

   navn = "Lejemaal01_27_" + Chr(a) + "0"

   If ActiveDocument.FormFields(navn).Result = "" Then

     ActiveDocument.Bookmarks.Add ("EjPrint")

End Sub

 

Vælg Egenskaber for formularfeltet for medlemsnummeret i den første etiket og indsæt navnet på makroen ’KontrolA’ i ’Afspil makro ved Udgang:’. For formularfeltet for medlemsnummeret i alle efterfølgende etiketter indsættes ’KontrolB’ i ’Afspil makro ved Udgang’.

 

Forklaring:

 

Når der ikke er indtastet noget nummer i ’Medlemsnr.’ genereres bogmærket ’EjPrint’ og etiketten udskrives ikke. I makroerne er ’Value1’ en variabel, der bruges til at beregne bogmærkenavnet ’navn’. Derved kan samme makro bruges i alle etiketter.

 

Der findes en variation for bogmærket 'EjPrinter'. Brevet udskrives ikke på printeren, hvis der i brevet findes et bogmærke med navnet 'EjPrinter'. Brevet behandles i STRATO som om det blev udskrevet (altså modsat bogmærket 'EjPrint'), men vil ikke blive sendt til printeren. F.eks. vil brevet blive gemt, hvis der i udskriftsmenuen er sat mærke i Til arkiv. Bogmærket kan indsættes dynamisk med følgende makro:

 

Sub Slut()

   ActiveDocument.Bookmarks.Add ("EjPrinter")

End Sub

   

 

Hvordan redigeres et brev ?.

 

Vi vil gerne ændre i den fortrykte tekst i et brev, der vises i Word som resultatet af f.eks. menupunktet Individuelt brev i lejemålsmenuen. Vælg mellem følgende 2 muligheder:

 

     I Word vælges Funktioner og Fjern dokumentbeskyttelse.

     Indsæt en makro med funktionen ’ActiveDocument.Unprotect’ i dokumentet.

 

EKSEMPEL 5:

 

Opret følgende makro:

 

Sub FjernBeskyttelse()

   If ActiveDocument.ProtectionType <> wdNoProtection Then

     ActiveDocument.Unprotect

End Sub

 

Vælg Egenskaber for det første formularfelt og indsæt navnet på makroen i ’Afspil makro ved Indgang:’.

 

 

Hvordan indsættes et serienr. ?.

 

Ved at indsætte et formularfelt med bogmærket ’WordSerieNr’ opnår man at brevene bliver nummereret fortløbende med 1, 2, 3 osv. når de bliver udskrevet i samme kørsel. Hvis man f.eks. ønsker at nummereringen skal starte med 2001 i stedet for 1, indsættes følgende 2 linier i en makro med navnet ’Slut’.

 

x = CDbl(ActiveDocument.FormFields("WordSerieNr").Result) + 2000

ActiveDocument.FormFields("WordSerieNr").Result = x

 

Man kan også bruge serienumre på etiketter. På første etiket indsættes et formularfelt med bogmærket ’WordSerieNr_A’, på anden etiket indsættes et formularfelt med bogmærket ’WordSerieNr_B’ og så fremdeles.

 

 

Indbetalingskort/Girokort.

 

På Indbetalingskort/Girokort forekommer der information, som ikke er direkte tilgængelig fra STRATO-databasens felter. Herunder er vist de særlige bogmærker, som gør det muligt at vise denne information. Hvis samme oplysning skal stå flere steder på kortet, benyttes som tidligere nævnt modificerede bogmærkenavne som f.eks. ’IKFakturanummer_A’.


IKCVRnr

Feltet ’CVR-nr. på opkrævning’ fra Administrator, Selskab eller Ejendom.

IKFakturanummer

Det automatisk genererede fakturanummer fra Selskabet.

IKFakturadato

Fakturadatoen beregnes på grundlag af feltet ’Forfaldsdag’ fra Administrator, Selskab, Ejendom og henholdsvis Lejemål og Medlem/venteliste. Ved opkrævning direkte fra lejemålskartoteket angives fakturadatoen = bogføringsdatoen specifikt.

IKPBSnr

Feltet ’PBS nr.’ fra Administrator, Selskab eller Ejendom.

IKDebgrnr

Feltet ’Deb.gr. nr.’ fra Administrator, Selskab eller Ejendom.

IKKreditornummer

Feltet ’Kreditornr.’ fra Administrator, Selskab eller Ejendom.

IKBetalDato

Betalingsdatoen beregnes på grundlag af feltet ’Betalingsdag’ fra Administrator, Selskab, Ejendom og henholdsvis Lejemål og Medlem/venteliste. Ved opkrævning direkte fra lejemålskartoteket angives betalingsdatoen specifikt.

IKBetalperiode

Betalingsperioden beregnes på grundlag af feltet ’Opkrævningsperiode’ i henholdsvis Lejemål og Medlem/venteliste. Ved opkrævning direkte fra lejemålskartoteket angives betalingsperioden specifikt.

IKBetalingsID

BetalingsID beregnes på grundlag af feltet ’PBS kundenummer’ i henholdsvis Lejemål og Medlem/venteliste.

IKBeløbsmodtager1

De 3 linier med Beløbsmodtager afledes af enten ’Modtager’ fra Opsætning - Administration - Opkrævningskort eller ’Navn’, ’Adresse’ og ’Postnr. og by’ fra Selskabet.

IKBeløbsmodtager2


IKBeløbsmodtager3


IKBetalmeddelelse1

De 3 linier fra ’Betalingsmeddelelse:’ i Administrator, Selskab eller Ejendom. Ved opkrævning direkte fra lejemålskartoteket benyttes ’Oplysning til opkrævningen:’.

IKBetalmeddelelse2


IKBetalmeddelelse3


IKHovedmeddelelse

Feltet ’Hovedmeddelelse’ fra henholdsvis Lejemål og Medlem/venteliste. Ved opkrævning direkte fra lejemålskartoteket benyttes ’Til dækning af’.

IKTillægmeddelelse

Feltet ’Tillægsmeddelelse’ fra henholdsvis Lejemål og Medlem/venteliste. Ved opkrævning direkte fra lejemålskartoteket benyttes ’Bemærkning’. (NB. Stavemåden skal være ’IKTillægmeddelelse’).

IKTekst1..IKTekst20

Den til opkrævningsspecifikationen hørende tekst. Der er mulighed for maksimalt 20 linier.

IKBeløb1..IKBeløb20

Det til opkrævningsspecifikationen hørende beløb. Der er mulighed for maksimalt 20 linier.

IKIalt

Det samlede opkrævningsbeløb.

IKIaltRubrik

Det samlede opkrævningsbeløb formatteret i kroner og ører.

IKOCRLinie1

Den maskinlæsbare linie bestående af kortart, betalingsID og kreditornummer.

IKOCRLinie2

Formattering af det samlede opkrævningsbeløb og betalingsdatoen.


Hvis OCR-B linien skal flyttes op eller ned, markeres den nederste række i formularen (rækken under OCR-B linien). Tryk på højre museknap og vælg Tabelegenskaber. Vælg fanebladet Rækker. Der skal være mærke i Angiv højde og indtast herefter et passende tal i det tilhørende felt.