0

ユーザーがドキュメント ライブラリ内の項目にチェックを入れ、リボンからカスタム アクション '印刷' を選択し、クライアント側でドキュメントを印刷できる SharePoint ファームの機能を作成しようとしています。ほとんどのドキュメント (.docx、.xlsx、.pdf) は問題なく印刷されます。これは、これらの各タイプの Print メソッドで ActiveXObjects を使用できるためです。ただし、.msg ファイルを簡単に印刷できる ActiveXObject for Outlook はありません。その結果、スクリプトを介してクライアント側で .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 のセキュリティ レベルが制御されているため、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が出力する形式を維持したいので、最初にテキストファイルなどに変換することは実際にはオプションではありません...

4

2 に答える 2

0

セキュリティ上の理由から、ブラウザ環境内から Namespace メソッドにアクセスすることはできません。(Web ページがローカル データ ディレクトリにアクセスする必要はありません。)これは、Windows スクリプト ホストを介してスタンドアロン スクリプトとして実行する必要があります。

于 2012-05-10T04:36:04.487 に答える
0

HTMLページからスクリプトを試してみましたが、ブラウザとしてInternet Explorerを使用し、ユーザーが自分のPCで十分な権限を持っている必要があり、IEのセキュリティ設定をActive-Xを有効にするように設定する必要がある場合にのみ機能します.

于 2012-05-10T07:49:09.433 に答える