こちらの続きです。kantoku.hatenablog.com
C#のマクロが遅い最大の原因は、アウトプロセスだろうと思い、
スピードテスト3のソースをDLL化し、VBA呼び出しで試してみました。
○インプロセス-ツールバー-C#DLL
1回目:1.798秒
2回目:1.823秒
3回目:1.851秒
VBA並みの結果となりました。
DLL化しVBA呼び出しの手順などを記載したいところなのですが、
かなり手間取り、上手くまとめきれないのでそのうち記載します。
他にも色々見ましたが、特に参考とさせてもらったサイトです。
.NETのDLLをVBAから呼び出すには|くるーずの.NETブログ
ドラッグされたマネージドDLLをRegAsmで登録するスクリプト | 初心者備忘録
ネックなのは、レジストリに登録する必要があるところです。
あと、スピードテスト1で「インプロセス-VBエディタ」と書きましたが
VBエディタからの実行はアウトプロセスの様です。すいません。
(アウトプロセスは点が徐々に描かれますが、インプロセスは全ての点が
形状セットに入れられた時点で表示されます)