EAでHTML出力をC#でやってみた結果

最初の方法は使いものにならなかったorz

EAひらいたらプロジェクト-リソースを開いてRTFテンプレートで何か名前をつけて作成。コピー元をデータベース設計 ドキュメントにしておく。
HTMLテンプレートだと使えないらしい。HTMLテンプレートが使いたいのに。
まんまここに書いてあることやってみただけなのだけども。。>https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=4548
ソリューション作成して、参照DLLにEnterprise Architect Object Model X.XXを追加。

using EA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ExportEAHtml
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("start export Html");

            EA.Repository repo = new EA.Repository();
            repo.OpenFile("hoge.eap");
            Collection coll = repo.Models;
      //階層ある場合はパッケージの位置まで掘り下げ
      //getName()で名前みながらどこか確かめる
            Package package = coll.GetAt(0).Packages.GetAt(0).Packages.GetAt(0);
            DocumentGenerator generator =repo.CreateDocumentGenerator();
      //テンプレート名指定
            bool result = generator.NewDocument("sample");
            if (result)
            {
                Console.WriteLine("success create documnt");
                result = generator.DocumentPackage(package.PackageID, 0, "sample");
            }
            if (result)
            {
                Console.WriteLine("success documnt package");
                result = generator.SaveDocument("sample.html", EA.DocumentType.dtHTML);
            }

            if (result)
            {
                Console.WriteLine("success");
            }
            else
            {
                Console.WriteLine("fail");
                Console.WriteLine(generator.GetLastError());
            }
            repo.CloseFile();
            Console.WriteLine("end export Html");
        }
    }
}

で、最後に書いてあったRunHTMLReportという方を使ってみた。そしたら出来た。

using EA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ExportEAHtml
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("start export Html");

            EA.Repository repo = new EA.Repository();
            repo.OpenFile("hoge.eap");
            Collection coll = repo.Models;
      //階層ある場合はパッケージの位置まで掘り下げ
      //getName()で名前みながらどこか確かめる
            Package package = coll.GetAt(0).Packages.GetAt(0).Packages.GetAt(0);
            Diagram diagram = package.Diagrams.GetAt(0);
            DocumentGenerator generator =repo.CreateDocumentGenerator();
            Project proj = repo.GetProjectInterface();
            //出力先と画像の拡張子、指定があればスタイル、最後はhtmlファイルの拡張子
            proj.RunHTMLReport(package.PackageGUID, "C:\\hoge", "png", "", "html");   
            repo.CloseFile();
            Console.WriteLine("end export Html");
        }
    }
}

ほんとに全体のイメージだけみたいなら上の方で、開発時にテーブル定義とか中まで見たいときは下ので出せた