ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 7843|回复: 22

[求助] 64位下的CDO.Message使用

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-1-27 11:48 | 显示全部楼层 |阅读模式
现在换了Windows 10 64位的系统,在做群发邮件的时候发现 CDO.Message 这个提示错误,有朋友遇到这样的问题,并成功解决的吗?可否分享一下方法,谢谢。

TA的精华主题

TA的得分主题

发表于 2019-1-27 12:55 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
64位是不是控件不兼容,我没用cdo是用服务器中转的,Outlook应该也有64位的吧。
Sub Main()
    Dim strText
    With Server.CreateObject("MSXML2.XMLHTTP") 'CreateObject("WinHttp.WinHttpRequest.5.1")
        .Open "POST", "http://anyoupin.cn/bsbm/stu60/a82/jmail2.asp", False
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
' 发送者信息(可用变量方式赋值)
        strrecipient="recipient=" & encodeURI("zpy1_hotmail@hotmail.com")
        strSend="subject=" & encodeURI("铁路购票")
        strhtmlbody="htmlbody=" & encodeURI("<html><body>测试邮件<a href=""http://www.12306.cn"">www.12306.cn</a></body><html>")
        content= strrecipient & "&" & strSend & "&" & strhtmlbody
        
        .Send content
                strText = .responsetext
        Response.Write strText
    End With
End Sub

Function encodeURI(strText)
    With CreateObject("msscriptcontrol.scriptcontrol")
        .Language = "JavaScript"
        encodeURI = .Eval("encodeURIComponent('" & strText & "');")
    End With
End Function

TA的精华主题

TA的得分主题

发表于 2019-1-27 13:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-1-27 13:33 | 显示全部楼层
不然就改為後期綁定:
Dim myMail As Object
Set myMail = CreateObject("CDO.Message")

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-27 13:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
phsu 发表于 2019-1-27 13:29
要先設定Microsoft CDO for Windows 2000 Library為引用項目。

引用和CreateObject方法都是提示错误

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-27 13:57 | 显示全部楼层
Sub fangyoujian()
    Call sentmail("11111@163.com", "", "", "测试邮件", "发生发发", "C:\Users\Administrator\Desktop\++要发送的数据.xlsx")
End Sub


Function sentmail(sjr, csr, mcs, yjzt, yjnr, fjdz)   '群发邮件
    'sjr 收件人地址, csr 抄送人地址, mcs 密抄送人, yjzt 邮件主题, yjnr 邮件内容, fjdz 附件地址
    'On Error Resume Next

    Const Email_From = "11111@163.com"    '发件人邮箱
    Pwd = "fsafasfagewg"    '发件人邮箱密码
    'Const Email_To = "34253434@qq.com"    '收件人邮箱

    Set cm = CreateObject("CDO.Message")    '创建对象
    cm.From = Email_From    '设置发信人的邮箱"
    cm.To = sjr     '设置收信人的邮箱
    cm.Cc = csr    '抄送
    cm.Bcc = mcs    '密抄
    cm.Subject = yjzt    '设定邮件的主题
    cm.TextBody = yjnr    '邮件正文,使用文本格式发送邮件
    'cm.HtmlBody = Cells(2, 4)  '使用html格式发送邮件
    cm.AddAttachment fjdz    '多附件则再添加同样一条代码即可
    stUl = "http://schemas.microsoft.com/cdo/configuration/"    '微软服务器网址
    With cm.Configuration.Fields
        .Item(stUl & "smtpserver") = "smtp.163.com"         'SMTP服务器地址
        .Item(stUl & "smtpserverport") = 25                  'SMTP服务器端口
        .Item(stUl & "sendusing") = 2    '发送端口  '使用网络上的SMTP服务器而不是本地的SMTP服务器
        .Item(stUl & "smtpauthenticate") = 1      '需要提供用户名和密码,0是不提供  '服务器认证方式          '
        .Item(stUl & "sendusername") = "liangcai001"    '发送方邮箱名称
        .Item(stUl & "sendpassword") = Pwd                 '发送方邮箱密码
        .Item(stUl & "smtpconnectiontimeout") = 60    '连接服务器的超时时间
        '.Item(stUl & "smtpusessl") = True    '是否使用SSL连接    为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听
        .Update    '更新设置
    End With
    cm.Send    '最后当然是执行发送了
    Set cm = Nothing            '发送成功后即时释放对象
    'MsgBox "发送完毕"
End Function

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-27 13:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zpy2 发表于 2019-1-27 12:55
64位是不是控件不兼容,我没用cdo是用服务器中转的,Outlook应该也有64位的吧。
Sub Main()
    Dim strTe ...

我怀疑的也是这个

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-27 13:58 | 显示全部楼层
调整了N种办法,都是提示
Set cm = CreateObject("CDO.Message")    '创建对象
这句错误

TA的精华主题

TA的得分主题

发表于 2019-1-27 14:00 | 显示全部楼层
我用的是Windows 7 64位的系统,沒有這個問題。剛才也試著寄了一封信,都OK。若可以的話,將你的代碼傳上來看看。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-27 14:01 | 显示全部楼层
6楼是我写的代码,隐藏了一些敏感的信息
之前我就是用这个代码去群发邮件的,但是现在换了Windows 10 64位后就总是提示ado有问题
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 09:57 , Processed in 0.039953 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表