使用ActiveXObject的javascript运行客户端的oulook,并从本地系统的下载文件夹中附上附件。

问题描述 投票:0回答:1

我需要帮助解决这个问题,我使用下面的代码来运行客户端的outlook新邮件与附件,这是完美的工作,当我使用的文件的确切路径,如添加。("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);
javascript outlook activexobject
1个回答
0
投票

附件的来源可以是一个文件(用文件名的完整文件系统路径表示),也可以是构成附件的Outlook项。该方法不接受环境变量,你必须指定完全限定的文件路径。

为了得到一个完全限定的文件路径,你可以使用以下代码。

var ObjShell = new ActiveXObject("Shell.Application");
var wShell   = new ActiveXObject("WScript.Shell");
var path     = wShell.ExpandEnvironmentStrings("%userprofile%\\Downloads\\");

这样你就可以附加一个文件了。

theMailItem.Attachments.Add(path+FileName);
© www.soinside.com 2019 - 2024. All rights reserved.