ユーザーはドキュメントライブラリ内の項目をチェックし、リボンからカスタムアクション「印刷」を選択して印刷することができるSharePointファームの機能を作成しようとしています文書クライアント側からほとんどのドキュメントは、 - (.docx、.xlsx、.pdf)という罰金を出しています。これらのタイプごとにPrintメソッドでActiveXObjectを使用することができます。ただし、.msgファイルを簡単に印刷できるOutlook用ActiveXObjectはありません。その結果、私は、スクリプトを介してファイルのクライアント側を.MSG印刷するために見つけた唯一の方法は、VBSである:HTMLページ内のVBScriptを使用してクライアント側の.msgファイルを印刷する
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がそれらを印刷する形式を維持したいので、テキストファイルなどに最初に変換することは実際にはオプションではありません。
更新:SetobjFolder = objShell.NameSpace(TargetFolder)行でパーミッションが拒否されました。私は別のパスを試して、コードを実行しているSharePointサイトにファイルを保存し、UNCパスなどでアクセスしてみました。 –