我正在嘗試爲我們的SharePoint場編寫一項功能,該功能允許用戶在文檔庫中選中某個項目,從功能區中選擇一個自定義操作「打印」,然後打印出文檔客戶端。大多數文檔都可以正常打印 - (.docx,.xlsx,.pdf),因爲我可以在每種類型的打印方法中使用ActiveXObjects。但是,沒有用於Outlook的ActiveXObject,可以輕鬆打印.msg文件。其結果是,唯一的方法我已經找到了通過腳本打印.msg文件的客戶端是VBS:在HTML頁面中使用VBScript打印.msg文件客戶端使用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
能正常工作在我的本地計算機上的.vbs文件,但分鐘,我嘗試和地點它在.html文件中用於在瀏覽器中測試,它給了我一個Permission Denied錯誤。因爲公司的組策略控制着Internet Explorer,所以我不能修改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打印出來的格式,所以先將它們轉換爲文本文件等並不是一種真正的選擇...
更新:我得到SetobjFolder = objShell.NameSpace(TargetFolder)行上的權限被拒絕錯誤。我也嘗試過不同的路徑,將文件存儲在運行代碼的SharePoint站點上,並通過UNC路徑等進行訪問。 –