Excel 我的outlook签名outlook与VBA存在问题
我刚开始学习VBA。 我创建了一个vba代码,通过Outlook发送电子邮件。但是,代码在打开邮件时起作用,徽标会在一秒钟内出现并消失,而是出现一个红十字。我不明白问题从何而来。这是我的密码:Excel 我的outlook签名outlook与VBA存在问题,excel,vba,outlook,signature,Excel,Vba,Outlook,Signature,我刚开始学习VBA。 我创建了一个vba代码,通过Outlook发送电子邮件。但是,代码在打开邮件时起作用,徽标会在一秒钟内出现并消失,而是出现一个红十字。我不明白问题从何而来。这是我的密码: Private Sub EnvoyerMail() Dim Mail As Variant Dim Ligne As Integer Dim Nom_Fichier As String Dim DernLigne As Long Dim SigString As String Dim Signature
Private Sub EnvoyerMail()
Dim Mail As Variant
Dim Ligne As Integer
Dim Nom_Fichier As String
Dim DernLigne As Long
Dim SigString As String
Dim Signature As String
Dim strBody As String
Set Mail = CreateObject("Outlook.Application")
DernLigne = Range("A1048576").End(xlUp).Row
For Ligne = 2 To 3 'DernLigne ' A changer selon la taille du fichier
'Change only Mysig.htm to the name of your signature
SigString = Environ("appdata") & "\Microsoft\Signatures\"
f = Dir(SigString & "*.htm")
If f <> "" Then
Signature = GetBoiler(SigString & f)
Signature = Replace(Signature, "src=""", "src=""" & SigString)
Else
Signature = ""
End If
On Error Resume Next
With Mail.CreateItem(olMailItem)
'.HTMLBody = Signature
strBody = _
"<Body>Bonjour,<br /><br /></Body>" & _
"<Body>Veuillez trouver ci-joint le rapport énergétique du mois dernier pour votre site.<br /><br /> Nous vous enverrons de manière régulière des rapports.<br />Notre objectif est de maintenir en continu un équilibre entre économies d’énergie et confort.<br /><br /></Body>" & _
"<Body>Remarque: Ce rapport est créé de façon automatique, si vous remarquez une erreur, n’hésitez pas à nous faire un retour.<br /><br /></Body>"
Nom_Fichier = Range("A" & Ligne) 'Chercher la pièce jointe
.Display
.Save
.Subject = Range("B" & Ligne)
.To = Range("C" & Ligne)
.CC = Range("D" & Ligne)
'.BCC = Range("" & Ligne)
.HTMLBody = strBody & Signature
.Attachments.Add Nom_Fichier
.Display
.Send
End With
Next Ligne
End Sub
Function GetBoiler(ByVal sFile As String) As String
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
Function GetSignature(fPath As String) As String
Dim fso As Object
Dim TSet As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set TSet = fso.GetFile(fPath).OpenAsTextStream(1, -2)
GetSignature = TSet.readall
TSet.Close
End Function
私人副特使
Dim Mail作为变体
作为整数的Dim Ligne
作为字符串的Dim Nom_Fichier
黯淡的灯光像长的一样
字符串作为字符串
作为字符串的数字签名
像弦一样暗的链子
设置Mail=CreateObject(“Outlook.Application”)
DernLigne=范围(“A1048576”)。结束(xlUp)。行
对于2到3个“DernLigne”换电器,请选择fichier taille du fichier
'仅将Mysig.htm更改为签名的名称
SigString=Environ(“appdata”)和“\Microsoft\Signatures\”
f=Dir(SigString&“*.htm”)
如果f“那么
签名=GetBoiler(SigString&f)
签名=替换(签名,“src=”“”、“src=”“”&SigString)
其他的
Signature=“”
如果结束
出错时继续下一步
使用Mail.CreateItem(olMailItem)
'.HTMLBody=签名
strBody=_
“你好,
”_
“Veuillez trouver ci joint le Reporténergétique du mois dernier pour votre site.
_
“Remarque:与自动化系统的关系密切,您的关系是正确的,我们的关系是公平的。”
Nomèu Fichier=范围(“A”和“Ligne”)Chercher la pièce joint
.展示
拯救
.Subject=范围(“B”和对齐)
.To=范围(“C”和“对齐”)
.CC=范围(“D”和直线)
'.BCC=范围(“&Ligne”)
.HTMLBody=strBody和签名
.Attachments.Add Nom_Fichier
.展示
.发送
以
下一页
端接头
函数GetBoiler(ByVal sFile作为字符串)作为字符串
作为对象的Dim fso
将T作为对象
设置fso=CreateObject(“Scripting.FileSystemObject”)
设置ts=fso.GetFile(sFile).OpenAsTextStream(1,-2)
GetBoiler=ts.readall
关闭
端函数
函数GetSignature(fPath作为字符串)作为字符串
作为对象的Dim fso
作为对象的Dim TSet
设置fso=CreateObject(“Scripting.FileSystemObject”)
设置TSet=fso.GetFile(fPath).OpenAsTextStream(1,-2)
GetSignature=TSet.readall
关闭
端函数
这可能会偶然发现要更改的代码
选项显式
私人副特使签名然后编辑签名演示()
'此演示不需要Excel代码和循环
将邮件作为对象
字符串作为字符串
作为字符串的数字签名
像弦一样暗的链子
作为字符串的Dim F
设置Mail=CreateObject(“Outlook.Application”)
SigString=Environ(“appdata”)和“\Microsoft\Signatures\”
'仅将Mysig.htm更改为签名的名称
'F=dir(SigString&“Mysig.htm”)
'使用*通配符时,如果有多个签名,则太模糊
F=dir(SigString&“*.htm”)
如果F“那么
“未知成分的签名”
签名=GetBoiler(SigString&F)
"未知作品的编辑签名"
签名=替换(签名,“src=”“”、“src=”“”&SigString)
其他的
Signature=“”
如果结束
'默认签名
使用Mail.CreateItem(olMailItem)
.展示
MsgBox“邮件#1-默认签名”&vbCr&vbCr&“默认签名显示并成为.HTMLBody的一部分”
strBody=_
“你好,
”_
“Veuillez trouver ci joint le Report?nerg?tique du mois dernier pour votre site.
_
“回复:在自动化方面,您的回复是正确的,因为您的回复是正确的。”
'忽略已编辑的F=dir(SigString。。。
'用strBody和current.HTMLBody覆盖当前默认签名的正文
.HTMLBody=strBody和.HTMLBody
MsgBox“邮件#1-默认签名”&vbCr&vbCr&_
整个正文,包括默认签名,被strBody和current.HTMLBody覆盖
以
'已编辑的F=dir(SigString。。。
使用Mail.CreateItem(olMailItem)
.展示
MsgBox“Mail#2-编辑的F=dir(SigString…&vbCr&vbCr&”默认签名显示并成为.HTMLBody的一部分
strBody=_
“你好,
”_
“Veuillez trouver ci joint le Report?nerg?tique du mois dernier pour votre site.
_
“回复:在自动化方面,您的回复是正确的,因为您的回复是正确的。”
'用strBody和编辑的F=dir(SigString。。。
.HTMLBody=strBody和签名
MsgBox“邮件#2-编辑的F=dir(SigString…&vbCr&vbCr&_
“整个正文,包括默认签名,由strBody覆盖,并由”&vbCr&vbCr&_
“F=dir(SigString…&vbCr&vbCr&_
“如果有多个签名,则dir(SigString…)不一定与默认签名相同。”
以
端接头
函数GetBoiler(ByVal sFile作为字符串)作为字符串
作为对象的Dim FSO
将T作为对象
设置FSO=CreateObject(“Scripting.FileSystemObject”)
设置ts=FSO.GetFile(sFile).OpenAsTextStream(1,-2)
GetBoiler=ts.ReadAll
关闭
端函数
函数GetSignature(fPath作为字符串)作为字符串