Avatar billede bohbs Nybegynder
09. november 2004 - 13:33 Der er 11 kommentarer og
3 løsninger

Dynamisk merge af billede

Hvordan kan jeg includere et dynamisk billede i et flettefelt?

Jeg kan se funktionen Includepicture men kan den den kun tage den samme fil hver gang fx c:\input.jpg? Eller kan jeg lave det dynamisk dvs. ved kunde 1: c:\kunde1.jpg og ved kunde 2: c:\kunde2.jpg?

Hvis nogen kan beskrive Includepicture kan en løsning også være at overskrive input.jpg hver gang jeg fletter, men det ville være rarest blot at angive en sti til hvert dokument.
Avatar billede rvm Nybegynder
09. november 2004 - 13:48 #1
Skal det forståes sådan, at du fletter ved hjælp af brevflet og gerne vil have forskellige billeder alt efter modtager?
Avatar billede bohbs Nybegynder
09. november 2004 - 14:46 #2
både og, fletter via en automation fra et ekstern program, men vil gerne kunne skrive forskellige billeder ud afhængig af situationen. F.eks. ved udskrift af produktkort, hvor hvert produkt oftest vil have sit eget billede. Nogle produkter har derfor et billede (en sti) og denne ville jeg gerne merge ind i word til Includepicture eller anden løsning der får billedet på...
Avatar billede jkrons Professor
09. november 2004 - 19:24 #3
Du kan godt "flette" via Includepicture.

Indsæt først et Includepciture felt. Tryk dernæst Skift+F9 for at vise feltkoderne.
Placer markøren mellem Includepicture og Mergeformat, og indsæt et Megerfield her, fx

INCLUDEPICTURE {MERGEFIELD ”Billed”} MERGEFORMAT}

"Billed" skal rettes til navnet på det felt i en database eller flettefil, hvor stien til billederne er gemt.

Nu kan du gennemføre en almindelig brevfletning, så udskiftes dine MERGEFIELDS med stien til det pågældende billede, og i det færdige dokument vises nu:

Fejl! Filnavn er ikke anført.

de steder, hvor billederne skulle vises. Marker hele dokumentet (CTRL+A) og tryk F9 for at opdatere dine felter. Så indsætters billederne på rette plads. Tryk pil-tast for at slukek markeringen.

Men husk, at INCLUDEPICTURE gerne vil have stien stående med dobbelte backslashes, når der skal flettes, fx c:\\tb\\u1.jpg
Avatar billede bohbs Nybegynder
10. november 2004 - 08:35 #4
Jeg tvivler ikke på at ovenstående er korrekt, men jeg tror ikkke jeg kan gøre det fra den automation jeg benytter. Jeg tilgår de enkelte flette felter i en rækkefølge baseret på et index. Er mit billede felt fx. det tredje felt, kan jeg ikke tilgå det interne felt via index 4. Og benytter jeg index 3 så overskriver den hele feltet med stien alene. Kan man lave et felt i documentet som ikke kan ses hvori stien kunne skrives, og sætte includepicture til at pege på det? Andre løsninger
Avatar billede rvm Nybegynder
10. november 2004 - 08:40 #5
Den sti som du skriver at alle billeder har, kommer den med ind i dokumentet efter du har flettet? Jeg tænker her på at lave en makro, der finder alle disse stier og sætter et billede ind i stedet for.
Avatar billede bohbs Nybegynder
10. november 2004 - 08:51 #6
mmm det ved jeg ikke om jeg forstår... Når jeg kalder min automation:

TemplateName := 'c:\skabtest.dot';
CREATE(wrdApp);
wrdApp.Visible := TRUE;
IF NOT EXISTS(TemplateName) THEN ERROR ('ErrMsgFileNotFound', TemplateName);
wrdDoc := wrdApp.Documents.Add(TemplateName);
wrdApp.ActiveDocument.Fields.Update;
// With Fields in Word
wrdRange := wrdApp.ActiveDocument.Fields.Item(1).Result;
wrdRange.Text := 'Kunde: Toby Corp.';
wrdRange := wrdApp.ActiveDocument.Fields.Item(2).Result;
wrdRange.Text := 'Adresse: Vejen 10';
wrdRange := wrdApp.ActiveDocument.Fields.Item(3).Result;
wrdRange.Text := 'c:\\input.jpg';


starter word op og felterne bliver opdateret (kan ses på skærmen, de skifter lige et øjeblik efter.)

Hvad mener du med den sti alle billeder har? Typisk man nok have mulighed for to billeder i dokumentet. Jeg ville derfor gerne kunne angive stien til hvert enkelt. Alternativet bliver at overskrive de samme to filer hver gang.

Jeg ser tre umiddelbare problemer med makroer?
-Sikkerhed/rettighed/indstillinger?
-distribution? Kan den følge med skabelonen?
-Kørsel fra automation? Eller afvikles den automatisk ved åbning?
Avatar billede rvm Nybegynder
10. november 2004 - 09:00 #7
Hvor får du kundeoplysningerne fra - det ser ud som om de er hard-kodet.

Angående dine problmer med makroer:
Sikkerhed: Det er ikke Word der skal tjekke farlige makroer - det skal dit antivirusprogram.
Distribution: En makro kan sagtens følge med en skabelon.
Kørsel: Kald makroen "AutoNew" og den vil starte, når der dannes et nyt dokumnet på baggrund af skabelonen.
Avatar billede bohbs Nybegynder
10. november 2004 - 09:31 #8
jep de er hardcodet. Det skyldes at jeg blot skal lave en template for fletning. Programmet er Navision og vi skal blot finde ud af hvad der er teknisk muligt Navision<->Word.

Word kan sættes op til at blokere makroer. Dette kan så give problemer på den enkelte klient. Og hvis makroen så bliver kaldt inden mine felter bliver opdateret, hvad er det så værd?
Avatar billede rvm Nybegynder
10. november 2004 - 09:42 #9
Så det er ikke kun dig der skal bruge skabelonen, men et helt firma - OK. Men den kode du kører må vel også være en makro eller er det kode i Navision? Jeg kender dog ikke Navision nok til at kunne rådgive dig i, hvilke teknikker der vil være bedre at bruge i Navision kontra Word.
Avatar billede rvm Nybegynder
10. november 2004 - 10:05 #10
Hvis den kode du har indsat ovenfor køres fra Navision (hvilket den sikkert gør), så kunne en makro, der skifter tekst med stivej og filnavn ud, køres lige efter i samme automation - på den måde kommer du udenom eventulle begrænsninger i Word.
Avatar billede bohbs Nybegynder
10. november 2004 - 10:07 #11
Vi benytter en standard automation (som bliver installeret i windows når man installerer Offie/Word). At det er fra Navision er for så vidt ligemeget. Automationen stiller et interface til rådighed fx: wrdApp.Visible := TRUE;

Dette minder måske om en makro, såvidt jeg ved er en automation active x kode i en ocx fil eller en dll fil. Kan man have et skjult flettefelt som bliver indsat i includepicture?
Avatar billede bohbs Nybegynder
15. november 2004 - 15:27 #12
jeg fandt en lidt anden løsning hvor jeg bruger shapes istedet:
wrdApp.Selection.InlineShapes.AddPicture('c:\input.jpg',bool1,bool2);

men jeres løsning kunne også blive aktuel, smid et svar så deler vi alle point...
Avatar billede jkrons Professor
15. november 2004 - 18:25 #13
:-)
Avatar billede rvm Nybegynder
15. november 2004 - 20:32 #14
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester