Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
前回、前々回に引き続き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を作ってみてください。)