Home > C# > Toolkit > CustomScript > VSTA > ドキュメント

ホスト統合のVSTAサンプル プロジェクトの保存と読込

作成日 2015.06.06
最終更新日 2015.06.06

原文

VSTA Sample Host Integration.docxは、SDKと一緒にダウンロードできます。

ホスト統合のVSTAサンプル

[VSTA Sample Host Integration]

プロジェクトの保存と読込

Saving and Loading a Project

ファイルからプロジェクトを保存し、読み込むには、まず、あなたは、VSTA IProjectStorageインターフェースを実装するクラスを作成する必要があります。 IProjectStorageは、どんな項目も名前によって検索でき、ストリームに戻すことができる、単純な仕組みです。 これは、バイナリのテーブルや仮想のファイルシステムと同じように、単純です。1つのIProjectStorageは、それぞれのプロジェクトで関連付けられています。 そして、項目の名前は、複数のプロジェクト全体で、固有であると保証されていません。 次に示す例は、MyProjectStorageクラスのIProjectStorageを実装します。Visual Studioで、次の手順を実行します。:

  1. あなたのプロジェクトに、「MyProjectStorage」という名前のクラスを追加します。
  2. 次のステートメントを追加します。:
  3. using System.IO;
    using VSTA = Microsoft.VisualStudio.Tools.Applications;
    
  4. あなたのプロジェクトのすべての項目のための補助記憶装置として、ファイルシステムを使用するために、IProjectStorageを実装します。:
  5. class MyProjectStorage : VSTA.IProjectStorage
        {
            string _rootDirectory;
            public MyProjectStorage(string pathRoot)
            {
                _rootDirectory = pathRoot;
            }
    
            public bool ItemExists(string itemName)
            {
                string fileName = System.IO.Path.Combine(_rootDirectory, itemName);
                return System.IO.File.Exists(fileName);
            }
    
            public System.IO.Stream OpenItem(string itemName, bool writeAccess)
            {
                string fileName = System.IO.Path.Combine(_rootDirectory, itemName);
                System.IO.FileMode mode;
                if (writeAccess)
                    mode = System.IO.FileMode.OpenOrCreate;
                else 
                    mode = System.IO.FileMode.Open;
                return System.IO.File.Open(fileName, mode);
            }
        }
    
    
  6. あなたのフォ-ムに「Save」という名前のボタンを追加します。そして、ボタンに、イベントハンドラを追加します。
  7. イベントハンドラに、次に示すコードを追加します。:
            if (_project != null)
            {
                MyProjectStorage outputProject = new MyProjectStorage("ProjectName");
                _project.Save(outputProject);
            }

ユーザーが、あなたのフォ-ムで「Save」ボタンを選択すると、プロジェクトとすべてのその項目は、 アプリケーションの現在の作業ディレクトリの下の、「ProjectName」という名前のフォルダに保存されます。 それらが、アプリケーションの、現在の作業ディレクトリの中に存在しない場合、 あなたは、「ProjectName」フォルダと「Properties」フォルダを作成する必要があるかもしれません。

備考:

保存された項目のデータは、多くの場合、テキストとして読込むことができます。 しかし、厳格なフォーマットとエンコーディングは、VSTAの実装に依存して、変更されることがあります。 VSTAによって保存されるすべてのデータは、ホスト・アプリケーションで「不透明」と扱われます。 VSTAプロジェクトは、ホスティングAPIを通して開く必要があります。(Microsoft.VisualStudio.Tools.Applicationsや管理されていない等価物)。

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」