24. marts 2008 - 19:11Der er
7 kommentarer og 1 løsning
Angive afsender adresse ved fletning
hej
Jeg sidder med en lidt speciel opgave som jeg gerne skal have løst på den mest hensigtsmæssige måde.
Har en flok Word skabeloner der flettes til fra et speciel tilrettet Navision. Disse skabeloner er bygget op på ser i højre side er en tekst boks som henter data fra en underliggende skabelon (ikke kæde men bogmærke, og måden af hensyn til at f.eks adresse skal kun rettet 1 sted og så slår det igennem til alle skabeloner ved fletning) - SOm det er nu har vi 3 afdelinger som hver har sit skabelon sæt, dette ønskes ændret så alle 3 adresser står nævnt i tekstboksen i højre side. Det jeg så leder efter er en funktion der kan sætte X ud for den afdeling som er afsenderen så. Dette funktion kan f.eks bygges op omkring initialer at jeg angiver i koden at 111 tilhører ABC og at 222 tilhører DEF osv. Initialerne bliver eksporteren med ud i den tekstfil som Word fletter brevet omkring så identen til afsender er på plads.
Det der så er mit problem, er kan det her lade sig gøre i praksis og i så fald hvordan skal koden se ud ? Er ikke den store hardcore programmør desværre :-(
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Forslag: Denne VBA-kode anbringes i "ThisDocument" i skabelonen, der gemmes som "Global".
De tre adresser er anført i en tekstboks - således at de 3 bogmærker er navngivet: afd1, afd2 & afd3.
Selv adressen er de enkelte linier til højre for bogmærket i samme linie - men er tabuleret 1-2 cm til højre for bogmærket. Hvis ønskeligt, kan du sende en mail til: pb@supertekst-it.dk - så returnerer jeg skabelonen.
Dim afdNr, brugerINIT, bm Sub AutoNew() sætAfsender End Sub Private Sub sætAfsender() brugerINIT = System.Application.UserInitials Select Case brugerINIT Case "AAA" bm = "afd1" Case "PB" bm = "afd2" Case "BBB" bm = "afd3" Case Else bm = InputBox("indtast: 'afdNr'", "Bruger: " & brugerINIT & " genkendes ikke") End Select
ActiveDocument.Shapes(1).Select Selection.GoTo What:=wdGoToBookmark, Name:=bm Selection.TypeText Text:="[x]" End Sub
Den skabelon du gerne vil have jeg ligger VBA koden i, kan det ikke være den skabelon der samtidig indeholder alle de andre makroer der benyttes ved flet? Altså system.dot
Har lige et yderligere spørgsmål, hvor I koden definerer jeg hvilke initialer der tilhører hvilken adresse ? samt hvor definerer jeg hvilket felt der indeholder sekretær initialerne ? Er desværre ikke den store VBA freak endnu
Jeg ville nu sende min skabelon til dig, for at du kunne se denne. Heri kan du se bogmærkerne til de forskellige afd. - men du er velkommen til at sende din.
Du må meget gerne sende til kim@kta.dk - jeg kan godt sende mine skabeloner, det er bare en kæmpe omgang. Men intet problem i det, hvortil skal jeg sende ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.