乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 64|回复: 1

[编程交流] 以PDF格式发送电子邮件

[复制链接]

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-5 16:28:18 | 显示全部楼层 |阅读模式
全部的
 
我在电子邮件中找到了一个非常酷的lisp例程,可以将AutoCAD绘图作为附件发送,我想知道是否可以修改它以发送PDF。
 
  1. (defun c:eMail (/ _catch file outlook email)
  2. ;; Using Outlook, eMail selected object(s) in a temporary DWG file
  3. ;; Many thanks to Ron Perez (ronjonp) for the Outlook example ([url]http://www.theswamp.org/index.php?topic=26953.msg324794#msg324794[/url])
  4. ;; Alan J. Thompson, 03.28.11
  5. (vl-load-com)
  6. (defun _catch (f a) (not (vl-catch-all-error-p (vl-catch-all-apply f a))))
  7. (if
  8.    (and
  9.      (or (ssget "_I") (prompt "\nSelect object(s) to eMail: ") (ssget))
  10.      (setq file (vl-filename-mktemp "" nil ".dwg"))
  11.      (_catch 'vla-WBlock
  12.              (list (cond (*AcadDoc*)
  13.                          ((setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object))))
  14.                    )
  15.                    file
  16.                    (vla-get-activeselectionset *AcadDoc*)
  17.              )
  18.      )
  19.      (setq outlook (vlax-get-or-create-object "Outlook.Application"))
  20.      (setq email (vlax-invoke-method outlook 'CreateItem 0))
  21.      (_catch 'vlax-put (list email 'Subject (strcat "Emailing: " (vl-filename-base file) ".dwg")))
  22.      (_catch 'vlax-invoke (list (vlax-get email 'Attachments) 'Add file))
  23.    )
  24.     (progn (princ "\nOutlook active...")
  25.            (princ)
  26.            (vlax-invoke email 'Display :vlax-true)
  27.            (vl-file-delete file)
  28.     )
  29. )
  30. (foreach x (list email outlook) (and x (vlax-release-object x)))
  31. (princ)
  32. )

 
谢谢Brian
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 18:14:34 | 显示全部楼层
从提供的链接中使用ronjonp的子功能:
  1. ;; Usage:
  2. ; (rjp-OutlookMessage
  3. ;  "johndoe@nowhere.com;johndoewife@nowhere.com"                         ;; email address (multiple separated by semicolon)
  4. ;  "Test Email"                                                          ;; Subject
  5. ;  '("C:\\test\\file1.txt" "C:\\test\\file2.txt" "C:\\test\\file3.txt")  ;; Attachments as a list of strings
  6. ;  "Nothing to read here :)"                                             ;; Text in body of email
  7. ;  nil                                                                   ;; nil will open email to edit...T will send email in the background
  8. ; )
  9. (defun rjp-OutlookMessage (To Subject AttachmentList Body Send / objMail objOL)
  10. (and
  11.    (setq objOL (vlax-get-or-create-object "Outlook.Application"))
  12.    (setq objMail (vlax-invoke-method objOL 'CreateItem 0))
  13.    (progn
  14.      (vlax-put objMail 'To To)
  15.      (vlax-put objMail 'Subject Subject)
  16.      (vlax-put objMail 'Body Body)
  17.      (foreach file AttachmentList (vl-catch-all-apply 'vlax-invoke (list (vlax-get objMail 'Attachments) 'Add file)) )
  18.      (if send (vlax-invoke objMail 'Send) (vlax-invoke objMail 'Display :vlax-true) )
  19.      (vlax-release-object objOL)
  20.      (vlax-release-object objMail)
  21.    ); progn
  22. ); and
  23. (princ)
  24. ); defun rjp-OutlookMessage

 
我只是根据自己的喜好修改了格式。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 13:09 , Processed in 0.433017 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表