Open XML Format SDK 2.0 (CTP) =続き3=
前回、前々回に引き続きOpen XML Format SDK 2.0(CTP)です。
Open XML Format SDK 2.0(Aplil 2009 CTP)https://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&DisplayLang=en
今回は、DocumentReflectorから出力されたコードを用いてドキュメントを作成してみましょう。
1) 前回のおさらいですが、(これは事件だ.docx)をDocumentReflectorで開いて・・・
2) 最上位のPackageを選択してソースコードとして保存します(Demo.csと名づけてみました。)
3) Visual Studio 2008でコンソールアプリケーションを作成します。
4) 参照の設定から、WindowsBaseとOpen XML Format SDK で提供されるライブラリ(C:\Program Files\Open XML Format SDK\V2.0\lib\DocumentFormat.OpenXml.dll)
を選択します。
5) 既存の項目の追加より、上記で作成したDemo.csを追加します。
6) 下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
GeneratedCode.GeneratedClass gc = new GeneratedCode.GeneratedClass();
gc.CreatePackage(@"c:\これは事件だ.docx");
}
}
}
7) 実行すると、指定した場所にこれは事件だ.docxが出来上がっているはずです。
如何でしょうか?ExcelやPowerPointでも、あるいは、たとえVBAマクロが含まれていても、ドキュメントの作成は同じ手順で可能です。出力されたファイルを改変すれば、データベースから取得した値をあてはめることも簡単にできそうですので、応用範囲も広いと思われます。もっとも、これで帳票を作成したいと考える場合は、そもそもの帳票のファイルはOfficeドキュメントとしてテンプレート的に持ちたいはずです。そうした場合は、2) 最上位のPackageを選択して、ではなく作成するべきパーツを選択して、その部分をコード化すればよさそうですね。
あまり意味はないかもしれませんが、今回のプロジェクトをあげておきます。
(そしてこれは事件だ.docxを作ってみてください。)