# 自動化を選ばない理由

> 

Source: https://docs.aspose.com/slides/ja/cpp/why-not-automation/
Updated: 2024-10-06


## **重要な質問**
- Aspose コンポーネントは、Microsoft Office Automation よりもはるかに優れた選択肢である理由は何ですか？

Aspose では、よく聞かれる2つの質問があります：

- 製品を実行するために Microsoft Office がインストールされている必要がありますか？

簡潔に言えば、**必要ありません**。Aspose と Aspose コンポーネントは完全に独立しており、Microsoft Corporation に所属しているわけでも、承認、後援、またはその他の形で承認されているわけでもありません。

- Microsoft Office Automation を利用する代わりに Aspose 製品を使用すべき理由は何ですか？

私たちができる最も短い回答は、多くの理由があり、そのトップが *Microsoft 自体がソフトウェアソリューションによる Office Automation を強く推奨しないということです*：[Microsoft 記事](https://www.microsoft.com)。

## **概要**
上記で述べたように、Aspose コンポーネントが自動化のより良い選択肢である理由は数多くあります。主な理由のいくつかを以下に示します：

- セキュリティ
- 安定性
- スケーラビリティ/速度
- 価格
- 機能

以下は、各主なポイントについての詳しい説明です。また、独立したユーザー評価へのリンクを提供する **追加情報** セクションもぜひご覧ください。

## **セキュリティ**
以下は、上記の Microsoft 記事からの直接的な引用です：
*"Office アプリケーションはサーバー側での使用を意図していないため、分散コンポーネントが直面するセキュリティ問題を考慮していません。Office は受信リクエストを認証せず、意図せずマクロを実行したり、サーバー側コードからマクロを実行する可能性のある別のサーバーを起動したりすることから保護しません。匿名 Web からサーバーにアップロードされたファイルを開かないでください！ 最後に設定されたセキュリティ設定に基づいて、サーバーは管理者またはシステムコンテキストで完全な権限でマクロを実行し、ネットワークを危険にさらす可能性があります！ さらに、Office は多くのクライアント側コンポーネント（たとえば、シンプル MAPI、WinInet、MSDAIPP）を使用しており、処理を高速化するためにクライアント認証情報をキャッシュすることがあります。サーバー側で Office が自動化されている場合、1 つのインスタンスが複数のクライアントにサービスを提供し、そのセッションのために認証情報がキャッシュされているため、1 つのクライアントが別のクライアントのキャッシュされた資格情報を使用し、他のユーザーを偽装することにより、不正にアクセス権限を得る可能性があります。"*

Aspose 製品は非常に安全です。したがって、Aspose コンポーネントは重要なシステムリソースに潜在的なリスクをもたらしません。さらに、Aspose コンポーネントによって文書が開かれると、マクロは自動的に実行されません。Aspose コンポーネントは、開発者が Office ファイルを作成、操作、保存できるように設計されています。Microsoft Office パッケージに関連するリスクは、Aspose コンポーネントには固有のものではありません。

## **安定性**
以下は、上記の Microsoft 記事からの直接的な引用です：
*"Office 2000、Office XP、および Office 2003 は、エンドユーザーにとってインストールと自己修復を容易にするために Microsoft Windows Installer (MSI) テクノロジーを使用しています。MSI は「初回使用時にインストール」という概念を導入し、システムまたは特定のユーザーのために、ランタイム時に機能を動的にインストールまたは構成できるようにします。サーバー側環境では、これによりパフォーマンスが低下し、インストールの承認を求めるダイアログボックスが表示される可能性が高くなります。Office をエンドユーザー製品としての resiliency を高めるために設計されていますが、サーバー側環境における Office の MSI 機能の実装は逆効果です。さらに、サーバー側で実行される際の Office の安定性は保証されません。なぜなら、その使用のために設計またはテストされていないからです。ネットワークサーバー上でサービスコンポーネントとして Office を使用すると、そのマシンの安定性を低下させ、結果としてネットワーク全体にも影響を及ぼす可能性があります。サーバー側で Office を自動化しようとする場合は、プログラムを重要な機能に影響を与えない専用コンピュータに隔離し、必要に応じて再起動できるようにしてください。"*

Aspose コンポーネントはすべて単一の DLL にパッケージ化されているため、機能するために追加の部品やパーツをインストールする必要はありません。Aspose コンポーネントは C++ アプリケーションでのみ利用され、コンポーネントコードのどの部分も人間の応答を待つようには設計されていません。Aspose コンポーネントは徹底的にテストされており、非常に安定しています。Aspose コンポーネントは、**IBM**、**ヒルトン**、**リーダーズダイジェスト**、**バンク・オブ・アメリカ**などの[企業](https://about.aspose.com/customers)によって使用されています。

## **スケーラビリティ/速度**
以下は、上記の Microsoft 記事からの直接的な引用です：
*"サーバー側コンポーネントは、高い再入性、多重スレッド対応の COM コンポーネントであり、複数のクライアントに対して負担が最小で高いスループットを提供する必要があります。Office アプリケーションはほぼすべての点で正反対です。これらは非再入可能で、STA ベースの自動化サーバーであり、単一のクライアントに多様だが資源集約的な機能を提供するように設計されています。サーバー側ソリューションとしてのスケーラビリティはほとんどなく、構成を変更できない重要な要素（たとえばメモリ）に固定制限があります。さらに重要なのは、グローバルリソース（メモリマップファイル、グローバルアドインまたはテンプレート、共有自動化サーバーなど）を使用しており、同時に実行できるインスタンスの数を制限し、マルチクライアント環境で構成されている場合に競合状態を引き起こす可能性があります。Office アプリケーションの複数のインスタンスを同時に実行しようとする開発者は、デッドロックやデータ破損を回避するために、Pループまたはシリアル化アクセスを考慮する必要があります。"*

Aspose コンポーネントは非常にスケーラブルで、高速です。Office アプリケーションは、何百人ものユーザーが同時に使用されることを想定して設計されていませんが、Aspose コンポーネントはそのために設計されています。当社のコンポーネントは本物の C++ ソリューションであり、単一のサーバー上でも、一つのアプリケーションを支えたり、エンタープライズ全体のアプリケーションを動かす負荷分散された Web フォーム上でも、完璧に動作します。

## **価格**
アプリケーションが Microsoft Office Automation を利用する場合、アプリケーションを実行する各マシンごとに Microsoft Office のコピーを購入する必要があります。アプリケーションが Office ファイルを作成または操作する必要がある場合でも、ユーザーに Microsoft Office を必要としないことが多くあります。Aspose は、ライセンスの心配がなく無制限のユーザーへの配布を可能にする非常に[コスト効率の良い](https://purchase.aspose.com/)ロイヤリティフリーの再配布ライセンスを提供しています。Web ベースのアプリケーションを作成する際には、Microsoft Office Automation コンポーネントはサーバー側ソリューション向けに価格設定またはライセンスされておらず、したがって Microsoft Office コンポーネントを利用した Web アプリケーションを展開するための良いライセンス解決策はありません。Aspose は、サーバー ベースのアプリケーション向けにも非常に[コスト効率の良い](https://purchase.aspose.com/)ソリューションを提供しています。

## **機能**
Aspose コンポーネントは、Office ファイルを管理するために必要なすべてに加え、さらに多くの機能を提供します。これらは、開発者が最小限の作業で最大の成果を上げることを可能にするという哲学で設計されています。Office Automation とは異なり、Aspose コンポーネントは多くの強力で時間を節約する機能を提供します。たとえば、[Aspose.Cells](https://products.aspose.com/cells/cpp/)は、開発者が **DataTable** または **DataView** から直接 Excel ファイルにデータをインポートできる機能を提供します。 [Aspose.Words](https://products.aspose.com/words/net/)は、開発者が C++ のデータオブジェクトから直接 Word (メール マージ) ドキュメントを入力できる似たような機能を提供します。Aspose ファミリーの[すべてのコンポーネント](https://products.aspose.com/total/cpp/)は、それぞれ独自の強力な機能を提供しています。Aspose コンポーネントを購入する際の最も良い点は、私たちの開発チームにアクセスできることです。私たちの開発チームは、会社が必要とする機能があれば、他の会社もその機能を必要とする可能性が高いことを認識しています。すべての機能リクエストを追加できるわけではありませんが、私たちのチームは支援を提供する際に非常にオープンマインドで柔軟であろうと努めています。その考え方は、Aspose コンポーネントがこれほど強力になった理由です。Office Automation オブジェクトから追加の機能が必要な場合、それらが追加される可能性は非常に低いです。

## **結論**
{{% alert color="primary" %}} 

この記事では、Aspose コンポーネントが Office Automation よりも優れた選択肢である理由の多くの重要なポイントについて説明しましたが、さらに多くの理由があります。この記事は主に最も重要なポイントのみを取り上げています。さまざまな Aspose コンポーネントは、リスクのない、義務のない[評価版](https://downloads.aspose.com/slides/cpp)を提供しています。Aspose があなたのアプリケーションに何を提供できるかをよりよく理解するために、その[評価](https://downloads.aspose.com/slides/cpp)を活用することをお勧めします。
