开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 927|回复: 2
收起左侧

[求助] 求教:把微软CDO VBA发邮件改为易语言的,无法写入属性

[复制链接]
结帖率:75% (9/12)
发表于 2021-1-26 16:49:36 | 显示全部楼层 |阅读模式   陕西省商洛市
  1. Dim CDOMail As Variant
  2. On Error Resume Next '出错后继续执行
  3. Application.DisplayAlerts = False '禁用系统提示
  4. ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly '将工作簿设置为只读模式
  5. Set CDOMail = CreateObject("CDO.Message") '创建对象
  6. CDOMail.From = "12345@qq.com" '设置发信人的邮箱
  7. CDOMail.To = "12345@qq.com" '设置收信人的邮箱
  8. CDOMail.Subject = "主题:用CDO发送邮件试验" '设定邮件的主题
  9. 'CDOMail.TextBody = "文本内容" '使用文本格式发送邮件
  10. CDOMail.HtmlBody = "当您看到此封邮件,表明CDO设置正确" '使用Html格式发送邮件
  11. CDOMail.AddAttachment ThisWorkbook.FullName '发送本工作簿为附件
  12. STUl = "http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址
  13. With CDOMail.Configuration.Fields
  14. .Item(STUl & "smtpserver") = "smtp.qq.com" 'SMTP服务器地址
  15. .Item(STUl & "smtpserverport") = 25 'SMTP服务器端口
  16. .Item(STUl & "sendusing") = 2 '发送端口
  17. .Item(STUl & "smtpauthenticate") = 1 '远程服务器需要验证
  18. .Item(STUl & "sendusername") = "12345" '发送方邮箱名称
  19. .Item(STUl & "sendpassword") = "password" '发送方邮箱密码
  20. .Item(STUl & "smtpconnectiontimeout") = 60 '连接超时(秒)
  21. .Update
  22. End With
  23. CDOMail.Send '执行发送
复制代码
上面一段文字是vba调用cdo发邮件的例子,我现在想把它改成易语言的,前面部分都没问题:
  
微软服务器网址 = “http://schemas.microsoft.com/cdo/configuration/”
Mail.创建 (“CDO.Message”, )
Mail.查看 ()
Mail.写属性 (“From”, 12345@163.com))
Mail.写属性 (“To”, 12345@163.com))
Mail.写属性 (“Subject”, “This is an email message.”))
Mail.写属性 (“TextBody”, “text”))
Mail.写属性 (“HtmlBody”, “HtmlBody”))
Mail.写属性 (“AddAttachment”, “c:\aa.txt”))


但是对这一部分

With CDOMail.Configuration.Fields
.Item(STUl & "smtpserver") = "smtp.qq.com" 'SMTP服务器地址
.Item(STUl & "smtpserverport") = 25 'SMTP服务器端口
.Item(STUl & "sendusing") = 2 '发送端口
.Item(STUl & "smtpauthenticate") = 1 '远程服务器需要验证
.Item(STUl & "sendusername") = "12345" '发送方邮箱名称
.Item(STUl & "sendpassword") = "password" '发送方邮箱密码
.Item(STUl & "smtpconnectiontimeout") = 60 '连接超时(秒)
.Update



怎么写都不对,不能写入属性,在VBA中的属性是:CDOMail.Configuration.Fields.Item,如下是我写的:
Mail.读对象型属性 (“Configuration”, ).读对象型属性 (“Fields”, ).写属性 (“Item”,微软服务器网址+ “sendusing”, 2))
Mail.读对象型属性 (“Configuration”, ).读对象型属性 (“Fields”, ).写属性 (“Item”,微软服务器网址+ “sendusing=2”))


调试输出总是找不到对象属性,求大佬指教。
结帖率:75% (9/12)

签到天数: 3 天

 楼主| 发表于 2021-1-27 15:58:57 | 显示全部楼层   陕西省商洛市
自己已经解决了
回复 支持 反对

使用道具 举报

结帖率:58% (7/12)

签到天数: 5 天

发表于 7 天前 | 显示全部楼层   河南省洛阳市
请大神指点一下哪里错误了
VX截图_20250719024108.png
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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