我需要帮助解决这个问题,我使用下面的代码来运行客户端的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);
附件的来源可以是一个文件(用文件名的完整文件系统路径表示),也可以是构成附件的Outlook项。该方法不接受环境变量,你必须指定完全限定的文件路径。
为了得到一个完全限定的文件路径,你可以使用以下代码。
var ObjShell = new ActiveXObject("Shell.Application");
var wShell = new ActiveXObject("WScript.Shell");
var path = wShell.ExpandEnvironmentStrings("%userprofile%\\Downloads\\");
这样你就可以附加一个文件了。
theMailItem.Attachments.Add(path+FileName);