23. april 2009 - 09:08Der er
14 kommentarer og 1 løsning
flet tekst og send mail
Hej eksperter. Hvordan opbygger man en tekst med dels et standardbrev og indsatte databasefelter og sender det via mail, når man står inde i en formular (med de aktuelle databasefelter).
Tænker du på word dokument med standardbrev? Det kan lade sig gøre og det er en programmeringsopgave. Jeg er 3 måder at lave word documentet:
a) Lav en raport der baserer sig på sammen datakilde og postvalg - åbn i viewmode og gem som fil.
b) Lav en skabelon, sæt bogmærker for felter og 'fjernstyr' skabelsen af dokumentet vha vba
c) Lav et flettedokument med datakilden værende posten i formularen - noget med en query med id feltet fra formularen i sql betingelsen.
Hvis b) eller c) Det der skal anvendes hedder vist automation - følgende fragmenter forudsæter Microsodt Word x.0 object library sat op i references.
sub makeWordFile() Dim WordObj As word.Application,skabelon skabelon="<path to .dot file>" Set WordObj = newOrExisting("Word.Application.8") WordObj.Documents.Add Template:=Skabelon, NewTemplate:=False
.. .. do a lot WordObj.ActiveDocument.SaveAs fileName:=destfile, FileFormat:= _ wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _ True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _ False, SaveNativePictureFormat:=False, SaveFormsData:=False, _ SaveAsAOCELetter:=False
end sub
Function newOrExisting(AppType$) As Object On Error Resume Next Set newOrExisting = GetObject(, AppType) If err.Number <> 0 Then Set newOrExisting = CreateObject(AppType) End If End Function
Meget af et der skal gøres ved skabelse af word dokument indhold, kan man finde ud af ved at optage det med macro recorderen, og så snuppe indholdet fra words vba editor - på den måde må det også kunne aflures hvordan det sendes som mail indenfra word. Det havner nok bare i udbalkken medmindre mail clienten er startet, men det er også det mindste af det.
Hej mugs. udmærket artikel, men jeg kan ikke se hvordan jeg mixer et standardbrev med formularfelter og får det ind i en brødtekst ellers må du gerne pinde det ud.
ja tak Mugs, men er det ikke det samme som i din artikel. Jeg kan stadig ikke se ud fra din artikel hvordan jeg mixer et standardbrev med formularfelter og får det ind i en brødtekst så det kan sendes "automatisk" (ved tryk på en kommandoknap).
I min artikel kan du læse hvor i koden de forskellige argumenter skal indsættes. Brødteksten er således det 8. argument. Indsæt denne som et felt på samme måde som FLDemail:
Idet "1 arg", "2 arg" o.s.v henviser til handlingens argumenter således:
-1. argument er den objekttype du evt. vil vedhæfte. -2. argument er Objektnavnet på en evt. vedhæftet rapport. -3. argument er hvilket Outputformat rapporten skal have. -4. argument er modtagerens e-mailadresse. -5. argument er Cc adressat. -6. argument er Bcc adressat. -7. er e-mailens emne. -8. er e-mailens tekst (Brødtekst). -False betyder, at du ikke vil redigere meddelelsen inden afsendelse. -9. er til markering om benyttelse af en skabelonfil.
Ja men det er jeg helt med på. Men spørgsmålet er hvordan får jeg dannet en tekst til at bestå af fasttekst og formularfelter og fasttekst .... osv. osv.
Tag et ubundet felt fra værktøjsklassen og giv den en postkilde som f.eks. Den faste tekst ser du ianførselstegn. Husk at sætte egenskaben KanStrækkes til Ja, og mellemrum opfattes også som tekst:
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.