Oprette mail indeholdende signatur med logo
Jeg er ved at lave en makro til Outlook, der automatisk opretter en mail, indsætter noget fast tekst samt en signatur.Det ser ud til at virke, bort set fra én ting.
Når jeg via makroen laver en mail, så bliver billeder (der er 2) ikke konverteret til Outlooks egnet format f.eks. cid:image001.jpg@01C830E4.4676B2C0, men beholder derimod den relative sti. Det betyder at billeder ikke vises i mailen, men kun har det "billede" kendt fra nettet, når et billede ikke kan findes.
Se nedenstående der er et output af koden, jeg bygger mailen op af.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>Signatur</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
<BODY>
<DIV align=left>
<table width="100%" align="left" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td colspan="2"><font face=Arial size=2>Med venlig hilsen</font></td>
</tr>
<tr>
<td colspan="2"><font face=Arial size=2>Lars Skaarup Sørensen</font></td>
</tr>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="middle">
<img src="pix.jpg">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td rowspan="3">
<img src="DS_kun_logo_gennemsigtig.gif" width="38" height="38" align="middle"> </td>
</tr>
<tr>
<td width="95%" valign="bottom"><b><font face=Arial color=#000066 size=2><strong>DS Stålkonstruktion A/S</strong></font></b> <font face=Arial color=#000066 size=2>• Jyllandsvej 7 • DK-9500 Hobro • Tlf.: +45 96 57 27 27
• Fax: +45 96 57 27 29 • Direkte: +45 96 57 27 66 • Mobil: +45 29 99 14 22 • www.ds-staal.dk</font></td>
</tr>
<tr>
<td valign="bottom"><b><font face=Arial color=#000066 size=2><strong>DS Fabrin A/S</strong></font></b> <font face=Arial color=#000066 size=2>• Snæbumvej 26 • DK-9500 Hobro • Tlf.: +45 96 57 60 11 • Fax: +45 98 54 85 22<ifMoB> • Mobil: +45 29 99 14 22 </ifMoB> • www.ds-fabrin.dk</font> </td>
</tr>
</tbody>
</table>
</DIV>
</BODY>
</HTML>
Har jeg nogle mulighed for at få Outlook til at behandle billederne rigtigt?
Min VBA kode er følgende (se bort fra diverse udkommenteringer, da jeg roder lidt med andre løsninger på problemet)
'*----------------------------------------------------------*
'* Name : FileExists *
'*----------------------------------------------------------*
'* Purpose : Determines whether the specified file exists*
'*----------------------------------------------------------*
'* Parameters : strPathName Required. File to check for. *
'*----------------------------------------------------------*
'* Description: Returns True if file exists, False otherwise*
'*----------------------------------------------------------*
Public Function FileExists(ByVal strPathName As String) As Boolean
Dim intFileNum As Integer
On Error Resume Next
'Remove any trailing directory separator character
If Right$(strPathName, 1) = "\" Then
strPathName = Left$(strPathName, Len(strPathName) - 1)
End If
'Attempt to open the file, return value of this function is False
'if an error occurs on open, True otherwise
intFileNum = FreeFile
Open strPathName For Input As intFileNum
FileExists = IIf(Err, False, True)
Close intFileNum
Err = 0
End Function
Function GetBoiler(ByVal sFile As String) As String
'Dick Kusleika
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function
Public Function StrIDel(TempStr As String, _
SubStr As String) As String
Dim Dest As Long, Src As Long
Dest = InStr(UCase$(TempStr), UCase$(SubStr))
If Dest = 0 Then
StrIDel = ""
Exit Function
End If
Src = Dest + Len(SubStr)
Mid(TempStr, Dest) = Mid(TempStr, Src)
TempStr = Left$(TempStr, Len(TempStr) - Len(SubStr))
StrIDel = TempStr
End Function
Sub lavMail()
Dim SigString As String
Dim streg As String
Dim logo As String
Dim oMail As MailItem
Set oMail = Application.CreateItem(olMailItem)
SigString = "C:\Documents and Settings\" & Environ("username") & _
"\Application Data\Microsoft\Signaturer\DynamicSignature.htm"
streg = "C:\Documents and Settings\" & Environ("username") & _
"\Application Data\Microsoft\Signaturer\pix.jpg"
logo = "C:\Documents and Settings\" & Environ("username") & _
"\Application Data\Microsoft\Signaturer\DS_kun_logo_gennemsigtig.gif"
If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
' If FileExists(streg) Then
' Signature = Replace(Signature, "pix.jpg", streg)
' Else
' Signature = Replace(Signature, "<img src=""pix.jpg"">", "")
' End If
' If FileExists(streg) Then
' Signature = Replace(Signature, "DS_kun_logo_gennemsigtig.gif", streg)
' Else
' Signature = Replace(Signature, "<img src=""DS_kun_logo_gennemsigtig.gif"">", "")
' End If
Debug.Print Signature
With oMail
'Set body format to html
.BodyFormat = olFormatHTML
HTMLBody = strbody & "<br><br>" & Signature
.HTMLBody = "<br><br><HTML><BODY><TABLE><TR>Jeg skal bruge pris og leveringstid på følgende: </TR><TR>Ønsket leveringstid - uge 42/43</TR><TR>Certifikat 3.1B </TR><TR>Kulstofækvivalent max 0,42 på s355</TR>HEA 180 s355 - 2 lgd á 12,1<TR></TR></TABLE></BODY></HTML>" & Signature
.To = "Tilbud specialstål;lss"
.Subject = "Tilbud på specialstål"
End With
oMail.Display
End Sub
