エクセルにMermaidを書き込んでオートシェイプにするやつを作り直した。
説明
- githubReleaseよりダウンロード
- zipを解凍してxllを開くとエクセル起動
- mermaid文を入力
- 数式に=mermmaid(mermaid文の範囲)入力
- ブラウザが開く
- Enter-Keyを押すとエクセルに挿入される
作成したsvgとemfが %userprofile%\Documents\xlMdDna に自動保存されるのでたまに手動掃除が必要
注意)
xllと同根のMicrosoft.Web.WebView2.Core.dllが同一ディレクトリに必要。dllはxllの中に埋め込んでいるのだが、これだけ埋め込むと読みだせなくなる。
動作環境
- .Net48で動作
- Excel2016(SVG対応バージョン)を推奨
- Excel2016 (SVG非対応バージョン)もしくは2016以前のものは
関数にオプション=mermmaid(range, emfUse:1)
svgが使えないものはemfに変換して挿入する
SVG対応バージョンでもemfにしないと表記が崩れるものがある。
また、classDiagramはどちらでも表記が崩れるため現状使えない。
SVG対応しているエクセルなら標準機能でSVG貼り付ければと思うかもしれないが、SVGの文字表記textタグを使わずにspan等で文字をかかれるとテキストとして認識されず変換されないようだ。また、背景色などの装飾が正しく認識されず真っ黒になったりする。ExcelがSVG対応したと聞いてウキウキしながら試してガッカリした人は使ってみてほしい。
ソースはgithub
また、Excel-DNAというライブラリを使っているのだが、
たまにウイルス認定されてアンチウイルスに攻撃されるが慌てず冷静に対処してほしい。VSTOより使いやすいのでウイルスに利用されてその対処にExcel-DNAを使用したAddinがすべてウイルス認定されることがあるようだ。
説明書くのがつらい。
AIに代弁してもらう方法を模索せねば。
7年前とやってることが変わってない( ^ω^)・・・