web-dev-qa-db-ja.com

サーバーでExcel 2010を実行できますか?

この質問は、Windows Server OSがインストールされているコンピューターでExcelを使用している人に関するものではありません。そして、Sharepointサービスの機能を使用することではありません。

問題は、コード(Officeオートメーション)を使用してExcelファイルを開き、それらを操作し、計算を実行し、データを読み取り、ファイルのコピーを保存し、ファイルを閉じる自動化されたプロセス(すべてコード内)についてです。

以前のバージョンのExcelでは、ライセンス契約によりパブリックサーバーでの使用が禁止されていました。サーバー環境でOffice Automationを使用する際の問題についてMicrosoftからの警告があり、Excelはシングルスレッドであり、サーバーで使用するように設計されていないという警告がありました。

これに関するほとんどの記事はOffice 2010より前に書かれました。

しかし現在、Excel 2010は、HPC Services for Excelを使用してハイパフォーマンスコンピューティングサーバーで動作するように設計されています。 HPCの1つのドキュメントでは、「Windows HPC Server 2008 R2には、不定期のダイアログボックスやポップアップメッセージを処理できる包括的なポップアップマネージャーが含まれている」と記載されています。

だから私の質問は...「通常の」サーバーでExcel 2010を自動化するコードを実行しても安全ですかなし HPCサービスを使用して?

そうでない場合、HPC Services for Excelは単一のサーバーで動作しますか?

HPC Services for Excelの高パフォーマンス、分散コンピューティング、アスペクトは必要ありません...サーバーでExcelを実行する機能だけです。

それは今できますか?

ありがとう、グレン

9
Glen Little

質問は「ExcelオートメーションAPIを安全に使用できますか?」サーバーの詳細にはほとんど関係ありません。もちろん、ExcelはWindows Serverプラットフォームで実行され、ターミナルサーバー環境ではかなり一般的なシナリオですが、通常はそれぞれのユーザーが対話的に実行します。この方法で実行することは常に安全でした(つまり、古いバージョンもターミナルサーバーに配置されていました)。

つまり、 KB257757 これは2010年7月2日に最後に改訂され、「適用対象」セクションに「Microsoft Excel 2010」が明示的にリストされています。状態:

マイクロソフトは現在、Officeが不安定な動作を示す可能性があるため、無人の非対話型クライアントアプリケーションまたはコンポーネント(ASP、ASP.NET、DCOM、およびNTサービスを含む)からのMicrosoft Officeアプリケーションの自動化を推奨およびサポートしていません。この環境でOfficeを実行すると、デッドロックが発生します。

特にライセンスの問題について:

現在のライセンスガイドラインでは、クライアントアプリケーション自体がOfficeのライセンスされたコピーを持っている場合を除き、クライアント要求を処理するためにサーバーでOfficeアプリケーションを使用することを禁止しています。

そしてこれで太字で終わります:

マイクロソフトは、Officeをサーバー側にインストールする必要がなく、最も一般的なタスクをオートメーションよりも効率的かつ迅速に実行できるいくつかの代替手段を強くお勧めします。プロジェクトでサーバー側コンポーネントとしてOfficeを使用する前に、代替案を検討してください。

これ以上明確な言葉は出せません。

13
the-wabbit