javascript - javascript 使用 ActiveXObject 运行客户端的 oulook,附件来自本地系统上的下载文件夹
问题描述
我需要帮助解决这个问题。我使用下面的代码运行带有附件的客户端 Outlook 新电子邮件,当我使用文件的确切路径(如 add. ("C:/USERS/MY USER NAME/Downloads/".fileName)
. 但是当我将其更改Add("%userprofile%/Downloads/"+fileName)
为访问当前登录的用户时,它无法正常工作,没有错误,似乎找不到文件。有什么不对??或者不同的方式来做到这一点?
setTimeout(function(){
var theApp = new ActiveXObject("Outlook.Application");
var objNS = theApp.GetNameSpace('MAPI');
var theMailItem = theApp.CreateItem(0);
theMailItem.Attachments.Add("%userprofile%/Downloads/"+FileName);
theMailItem.display();
}, 2000);
解决方案
附件的来源可以是文件(由带有文件名的完整文件系统路径表示)或构成附件的 Outlook 项目。该方法不接受环境变量,您必须指定完全限定的文件路径。
要获得完全限定的文件路径,您可以使用以下代码:
var ObjShell = new ActiveXObject("Shell.Application");
var wShell = new ActiveXObject("WScript.Shell");
var path = wShell.ExpandEnvironmentStrings("%userprofile%\\Downloads\\");
因此,您将能够附加一个文件:
theMailItem.Attachments.Add(path+FileName);
推荐阅读
- c# - 将 SQL 命令转换为 Linq Lambda 函数?
- firebase - Firestore 不允许我指定数字文档 ID?它是如何工作的?
- r - 将数据从xlsx文件导入R时如何处理日期
- c# - '找不到类型或命名空间名称'如何在 Unity 中解决
- vb6 - vb6 / 通过 api 或其他方式在同一浏览器选项卡中打开 url?
- javascript - 在原始视图中以横向或纵向显示图像不拉伸
- c - 在 C 中创建一个要写入的新文件并将其初始化为空?
- node.js - 将 JSON 作为字符串存储在 Azure SQL 数据库中
- javascript - 无法使用 javascript 使窗口淡出或在 css 中添加过渡效果
- c# - 在 Unity 中修改 PS3 控制器的操纵杆灵敏度