我正在尝试为我们的 SharePoint 场编写一个功能,让用户在文档库中勾选项目,从功能区中选择自定义操作“打印”,然后打印出文档客户端。大多数文档都打印得很好——(.docx、.xlsx、.pdf),因为我可以将 ActiveXObjects 与每种类型的 Print 方法一起使用。但是,没有用于 Outlook 的 ActiveXObject 可以轻松打印 .msg 文件。因此,我发现通过脚本在客户端打印 .msg 文件的唯一方法是通过 vbs:
TargetFolder = "C:\EmailExport"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(TargetFolder)
Set colItems = objFolder.Items
For Each objItem in colItems
objItem.InvokeVerbEx("Print")
Next
这在我的本地机器上的 .vbs 文件中工作正常,但是当我尝试将它放在 .html 文件中以便在浏览器中进行测试时,它给了我一个 Permission Denied 错误。我无法修改 Internet Explorer 的安全级别,因为公司的组策略控制它们。
测试 .html 页面是这样的:
<html>
<head>
<script language="vbscript">
<!--
TargetFolder = "C:\EmailExport"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(TargetFolder)
Set colItems = objFolder.Items
For Each objItem in colItems
objItem.InvokeVerbEx("Print")
Next
-->
</script>
</head>
<body>
</body>
</html>
有没有人有任何解决方案可以让我在客户端打印出这些 .msg 文件?我想保持 Outlook 将它们打印出来的格式,因此首先将它们转换为文本文件等并不是一个真正的选择......