Topbesvarer
XAC programmering af funktionen sendmail

Spørgsmål
-
Hej,
Jeg har forsøgt at rette i funktionen sendmail, således at signaturen kommer med i mailen selvom man indsætter noget i body'en. Signaturen kommer med hvis man ikke udfylder noget i body'en.
Umiddelbart har jeg forsøgt at gemme den oprindelige body (med signatur) i et nyt objekt eller en variant, og derefter udfylde den oprindelige body med tekst for til sidst at tilføje den oprindelige body med signaturen. Dette kan jeg dog ikke helt få til spille, da jeg får forskellige syntaxfejl. Er der nogen som har et forslag til hvordan det løses?
Følgende eksempel er et bud på hvordan det kunne se ud i VB
Sub Mail_Outlook_With_Signature_Html_1() ' Working in Office 2000-2013 Dim OutApp As Object Dim OutMail As Object Dim strbody As String Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) strbody = "<H3><B>Dear Customer</B></H3>" & _ "Please visit this website to download the new version.<br>" & _ "Let me know if you have problems.<br>" & _ "<br><br><B>Thank you</B>" On Error Resume Next With OutMail .Display .To = "xxx@yyy.dk" .CC = "" .BCC = "" .Subject = "This is the Subject line" .HTMLBody = strbody & "<br>" & .HTMLBody .Send End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub
Svar
-
Hej igen,
Jeg kan se jeg gør en ting mere, se koden herunder.
Om det er getinspector eller det at du ikke blot lægger din html str sammen med htmlbody. Men i stedet putter din html str ind i htmlbody varianten og så lægger den sammen med signatur har jeg ikke testet.
Men jeg tror det er getinspector du mangler.
//lav mail
SET &olTmpBody = #PropGet(VAR,&olMailItem,'HTMLBody')
//build &body op som html
SET &olTmpBody = #VarAdd(#VX(&olTmpBody),#S(&Body+"<BR>"))
#With(&olMailItem)
#PropPut(,'BodyFormat = olFormatHTML')
SET #Invoke(,,'GetInspector')
SET &olSig = #PropGet(VAR,,'HTMLBody')
SET &olTmplBody = #VarAdd(#VX(&olTmpBody),#VX(&olSig))
SET #Invoke(,,'HTMLBody = #1',#VX(&olTmpBody))
- Markeret som svar af suneo 7. august 2013 09:05
Alle besvarelser
-
Hejsa,
Har haft samme ballade.
SET &olTmpBody = #PropGet(VAR,&olMailItem,'HTMLBody') //gem html signatur
Jeg gemmer HTML body inden jeg bygger min egen html body op. Så lægger jeg de to sammen til sidst.
Det er noget lignende nedenstående.
//Byg &Body op
SET &olTmpBody = #VarAdd(#VX(&olTmpBody),#S("<BR>"+&Body)) //læg de to sammen
SET #Invoke(,,'HTMLBody = #1',#VX(&olTmpBody)) //put variabel ind i mail htmlbodyMvh.
Mads
DataSign.dk -
Hej Mads,
Jeg har prøvet at flette dine linjer ind i FNC=SendMail, men får desværre ikke signaturen med ud, men kun 'Test' delen af body'en. Det kunne tyde på at jeg enten ikke får gemt den opreindelige body rigtigt eller ikke får den trukket korrekt ud efterfølgende. Ligeledes har jeg prøvet at lave om i #Invoke med diverse variable. Kan du spotte hvad der er galt?
-
Hej igen,
Jeg kan se jeg gør en ting mere, se koden herunder.
Om det er getinspector eller det at du ikke blot lægger din html str sammen med htmlbody. Men i stedet putter din html str ind i htmlbody varianten og så lægger den sammen med signatur har jeg ikke testet.
Men jeg tror det er getinspector du mangler.
//lav mail
SET &olTmpBody = #PropGet(VAR,&olMailItem,'HTMLBody')
//build &body op som html
SET &olTmpBody = #VarAdd(#VX(&olTmpBody),#S(&Body+"<BR>"))
#With(&olMailItem)
#PropPut(,'BodyFormat = olFormatHTML')
SET #Invoke(,,'GetInspector')
SET &olSig = #PropGet(VAR,,'HTMLBody')
SET &olTmplBody = #VarAdd(#VX(&olTmpBody),#VX(&olSig))
SET #Invoke(,,'HTMLBody = #1',#VX(&olTmpBody))
- Markeret som svar af suneo 7. august 2013 09:05
-