はじめに
この資料では、ダウンロードで利用可能なオール ・ イン ・ ワンのフレームワークのコード サンプルについて説明します。 コード サンプルでは、 IRibbonExtensibilityインターフェイスを実装する Microsoft OneNote 2010 の COM アドインのアプリケーションを開発する方法を示します。 IRibbonExtensibilityインターフェイスを実装することによってリボンをカスタマイズするのには、アドインのアプリケーションをサポートします。 このコード サンプルでは、OneNote 2010 のオブジェクト モデルを使用する方法も紹介します。
難易度レベル
ダウンロード情報
このコード サンプルをダウンロードするには、次のリンクのいずれかをクリックします。
技術概要
OneNote 2010 共有アドインのアプリケーションを作成します。
共有アドイン ウィザードには、OneNote 2010 では、共有アドインのアプリケーションを作成するのには、Microsoft OneNote のオプションが含まれていないため、次の手順に従います。
-
共有アドイン ウィザードでのアプリケーションのホストとして、Microsoft Access を選択します。
-
セットアップ プロジェクトのレジストリHKCU次のレジストリ サブキーを変更します。
[HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 リボンのアドインのサンプル」
OneNote のリボン コントロールのカスタムする IDTExtensibility インターフェイスを継承します。
カスタムには、onenote では、リボン コントロールは、 IRibbonExtensibilityインターフェイスを継承し、ある GetCustomUIメソッドを実装し、connect クラスに次のコードを実行します。
/// <summary> /// Loads the XML markup from an XML customization file /// that customizes the Ribbon user interface. /// </summary> /// <param name="RibbonID">The ID for the RibbonX UI</param> /// <returns>string</returns> public string GetCustomUI(string RibbonID) { return Properties.Resources.customUI; }
リボン コントロールのボタンのカスタム アイコン、および実装の機能
CustomUI.xml ファイルにOnGetImageとShowFormメソッドを実装するために次のコードを実行します。
/// <summary> /// Implements the OnGetImage method in customUI.xml /// </summary> /// <param name="imageName">the image name in customUI.xml</param> /// <returns>memory stream contains image</returns> public IStream OnGetImage(string imageName) { MemoryStream stream = new MemoryStream(); if (imageName == "showform.png") { Resources.ShowForm.Save(stream, ImageFormat.Png); } return new ReadOnlyIStreamWrapper(stream); } /// <summary> /// show Windows Form method /// </summary> /// <param name="control">Represents the object passed into every /// Ribbon user interface (UI) control's callback procedure.</param> public void ShowForm(IRibbonControl control) { OneNote.Window context = control.Context as OneNote.Window; CWin32WindowWrapper owner = new CWin32WindowWrapper((IntPtr)context.WindowHandle); TestForm form = new TestForm(applicationObject as OneNote.Application); form.ShowDialog(owner); form.Dispose(); form = null; context = null; owner = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); }
OneNote 2010 のオブジェクト モデルを使用して、OneNote のページのタイトルを取得するには
Microsoft OneNote 14.0 オブジェクト ライブラリ参照を追加し、相互運用機能型の埋め込みプロパティをFalseに設定します。
/// <summary> /// Get the title of the page /// </summary> /// <returns>string</returns> private string GetPageTitle() { string pageXmlOut = GetActivePageContent(); var doc = XDocument.Parse(pageXmlOut); string pageTitle = ""; pageTitle = doc.Descendants().FirstOrDefault().Attribute("ID").NextAttribute.Value; return pageTitle; }
テクノロジー カテゴリ
Office 開発
言語
このコード サンプルは、以下のプログラミング言語で利用可能です。
言語 |
プロジェクト名 |
---|---|
Visual C# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
必要条件
このコード サンプルを実行するには、以下の製品をインストールする必要があります。
-
Microsoft Visual Studio 2010
-
Microsoft Visual Studio Tools for Microsoft Office の 2010年
-
Microsoft OneNote 2010
タグ
-
OneNote 2010 のリボンのアドイン
-
COM アドイン
-
IDTExtensibility
-
OneNote 2010 のオブジェクト モデル
関連情報
ユーザー インターフェイスを変更するのには COM アドインのアプリケーションの詳細については、次の MSDN web サイトを参照してください。
Visual Studio2010、OneNote 2010 の互換性の問題の詳細については、次の MSDN ブログを参照してください。
OneNote 2010 の COM アドインのアプリケーションを作成する方法の詳細については、次のマイクロソフト web サイトを参照してください。
詳細情報
オール ・ イン ・ ワンのコード フレームワークとは何ですか。
オール ・ イン ・ ワンのコード フレームワークでは、異なるプログラミング言語でサンプル コードを使用して Microsoft のほとんどの開発手法を示しています。 それぞれの例は慎重に選択で構成される、およびコードの一般的なシナリオの 1 つを表示するのには記載されています。 オール ・ イン ・ ワンのコード フレームワークの詳細については、次のマイクロソフト web サイトを参照してください。
以上のオール ・ イン ・ ワンのフレームワークのコード サンプルを検索する方法
以上のオール ・ イン ・ ワンのフレームワークのコード サンプルを検索するには、マイクロソフトに関連するキーワードと"kbcodefx"の検索サポート用 Web サイトです。 または、次のマイクロソフト web サイトを参照してください。
迅速な発行に関する免責事項
マイクロソフト コーポレーションおよびその各供給者は、適合性、信頼性、またはここに含まれる関連のグラフィックス、情報の正確性に関する表明を行いません。 このような情報および関連グラフィックスはすべてで提供されて"は、いかなる種類の保証なし。 マイクロソフトおよびその各供給者本保証および条件に関しては、この情報ではありませんし、関連グラフィックス、黙示的な保証および市場性、職人的、特定目的に対する適合性の条件も含めて残存作業時間、タイトル、および非侵害。 具体的に同意するものと、いかなる場合においてマイクロソフトおよびその供給者を負いません、直接、間接、懲罰、偶発的、特殊、派生的損害、または任意の損害を含む、使用、データの損失の損害または利益を上げる、または情報およびここに含まれる、契約、不法行為、過失、厳格責任に基づいてまたはそれ以外の場合、マイクロソフトまたはその供給者がされている場合でも関連のグラフィックスを使用すること、または使用に接続されている任意の方法で発生します。損害の可能性のことをお勧めします。