開発者向け Excel の新機能

このドキュメントでは、Microsoft Excel 2013 の開発者向けの拡張機能と追加機能の概要について説明します。また、Excel 2013 のプログラミングを始めるときに役に立つ他の記事と参照情報へのリンクも示します。

**適用対象:**Excel 2013 | Excel 2016

概要

ユーザー設定のブック ソリューションを開発する場合は、Microsoft Excel 2013 でのプログラミングで次の新機能を使用できます。

Excel での Office のアドイン

Microsoft Excel 2013 では Excel が Web 対応になります。新しい Office アドインでは、動的な Web アプリケーションの開発用にさまざまな新しいシナリオとソリューションが使いやすい環境で提供されています。よく利用される動的な言語 (Python、PHP、Perl、JavaScript など) と Web 開発ツール (Microsoft Visual Studio 2012 など) を使用してアプリケーションを開発できます。また、Web 開発では、世界的に広がる強力な開発者コミュニティと、さまざまなコード サンプル、フレームワーク、ライブラリを使用でき、アプリケーションを多様なシナリオに適合させることができます。Excel では、コンテンツ アドインと作業ウィンドウ アドインという 2 種類の Office アドインを作成できます。

Office 用コンテンツ Office アドインは、Web ベースの機能をドキュメントと併せて表示できるコンテンツとして統合します。Office 用コンテンツ Office アドインを使用すると、リッチな Web ベースのデータ表示、YouTube のビデオ プレーヤーや画像ギャラリの統合のような埋め込みメディア シナリオ、および他の外部コンテンツ機能を統合できます。図 1 では、Excel 2013 でのコンテンツ アドインの実装の一例を示します。

図 1. Excel 2013 でのコンテンツ アドイン

Excel 2013 でのコンテンツ アプリ

作業ウィンドウ Office アドインは、Office ドキュメントと連携して動作し、Office アドインの開発者はコンテキストに対応した情報と機能を提供して、ドキュメントの表示および作成環境を拡張できます。たとえば、作業ウィンドウ Office アドインは、ユーザーがドキュメントで選択した製品名や部品番号に基づいて、Web サービスから製品情報を検索して取得できます。

図 2. Excel 2013 での作業ウィンドウ アドイン

作業ウィンドウ アプリ

新しいワークシート機能

Microsoft Excel 2013 には、OpenDocument 形式 (ODF 1.2) との互換性を確保するために約 50 個の新しいワークシート関数が追加されています。

また、Web サービス機能 ([Web] 機能カテゴリ) を使用して、REST Web サービスに匿名でアクセスできるようになっています。特に、FILTERXML 機能を利用すると、XPath 式を使用して WEBSERVICE 関数呼び出しによって返された XML をフィルター処理できます。

クイック分析

図 3 に示すクイック分析は新しいコンテキスト UI ツールであり、数式、条件付き書式設定、??スパークライン、テーブル、グラフ、ピボットテーブルなどのデータ分析機能に、シングルクリックでアクセスできます。新しいクイック分析機能の表示は、Excel 2013 の QuickAnalysis オブジェクトの Show メソッドと Hide メソッドを使用して、プログラムで有効または無効にできます。

図 3. クイック分析ツール

分析レンズ

新しいデータ ソースの可用性

OData フィード、Azure、SharePoint データ フィード、その他の OLE DB プロバイダーなど、PowerPivot でサポートされる一連の新しいデータ ソースに接続できます。新しい DataFeedConnection、ModelConnection、TextConnection、WorksheetDataConnection の各オブジェクトには、新しいデータ ソースに接続するために必要なデータと機能が含まれます。

注意

Excel 2013 の新しいオブジェクトとメンバーのドキュメントはまだ完全ではありません。

DataModel OM の使用

新しい DataModel オブジェクト モデル (既存の Visual Basic for Applications オブジェクト モデルに対する追加機能) を使用すると、データ ソースをプログラムで読み込んで更新できます。Excel 2010 で導入された、PowerPivot モデルに対するこの拡張機能により、複数のデータ ソースから結合されたデータに、追加のデータ ソースと機能をプログラムで統合できます。このモデルの重要な新オブジェクトは、Model、ModelChanges、ModelRelationship、ModelTable オブジェクトなどです。

ピボットグラフとピボットテーブルの独立した作成

Excel 2013 では、ピボットグラフをピボットテーブルから切り離すことができます。OLAP または PowerPivot データ ソースに基づくピボットグラフおよびピボットテーブルは、切り離して、ピボットテーブルとは関係なくピボットグラフを作成でき、ピボットグラフのみのエクスペリエンスを使用してデータ内を移動できます。これに対し、現在のパラダイムでは、ピボットグラフはピボットテーブルに付随するものとして作成されます。この分離は、Excel 2013 クライアントと Microsoft Excel Services の両方で示されます。

シングル ドキュメント インターフェイス

Excel 2013 でのシングル ドキュメント インターフェイス (SDI) に対する変更は、プログラミング機能に関係があります。SDI は、各ブックに専用のトップレベル アプリ ウィンドウがあり、対応する専用のリボンがあることを意味します。既存の "アプリケーション レベル" のウィンドウ メソッド、イベント、プロパティはすべて、この変更による影響を受けません。既存のすべての "ブック レベル" のウィンドウ メソッド、イベント、プロパティは、そのブックのトップレベル ウィンドウで動作します。

プログラムでのアニメーションのオンとオフ

Application オブジェクトの新しい EnableMacroAnimations プロパティを使用して、アニメーションの表示を切り替えることができます。マクロ実行の間、アニメーションは既定で無効になっています。アニメーションを有効にするには、マクロの先頭に Application.EnableMacroAnimations = True を追加します。マクロ実行の間に Excel でアニメーションを表示できるようにするには、マクロごとにこの設定を行います。

タイムライン

Excel 2013 には、モデル化されたデータのフィルター処理を行うための新しいタイムライン コントロールが含まれます。タイムラインは、連続した日付範囲を表示および変更したり、ピボットテーブルやピボットグラフなどのピボット ベースのオブジェクトをフィルター処理したりするための、ビジュアルな方法を提供します。タイムラインはスライサーに関係があり、既存のスライサー関連のオブジェクト モデルのメンバーを拡張します。さらに、TimelineState および TimelineViewState という 2 つの新しいライムライン固有のオブジェクトが導入されています。

所要時間が長くなったシートの保護

Excel のこれまでのバージョンより、シートの保護にかかる時間がかなり長くなっています。手動でシートを保護する場合は気付くほどではありませんが、コードを使用してシートを繰り返し保護または保護解除する場合は、パフォーマンスの問題が発生する可能性があります。

この遅延は、Excel 2013 でのセキュリティ強化により、パスワード保護されたファイルでこれまでより強力なハッシュ アルゴリズム (SHA-512) を使用するようになったためです。Office 2010 では、パスワード保護されたファイルの既定のハッシュ アルゴリズムは SHA1 でした。この変更により、Excel のパスワード保護されたブックはこれまでのバージョンより安全になりましたが、Office の開発者にはパフォーマンスの問題が発生する可能性があります。これは設計によるものであり、回避策はありません。

まとめ

Excel 2013 では、開発者向けに多くの新機能が提供されています。Office アドインを使用すると、ワークシートに組み込んで、またはワークシートと並べて表示できるコンテンツとして、Web ベースの機能を Excel 2013 と統合できます。既存の Excel 2013 VBA オブジェクト モデルを拡張する他の新機能としては、クイック分析、タイムライン、新しい DataModel OM、新しいデータ ソースの可用性、ピボットグラフとピボットテーブルを相互に独立して作成する機能などがあります。さらに、新しいワークシート機能や、Web サービス機能を使用して REST Web サービスに匿名でアクセスする機能などもあります。

その他の技術情報