私の質問はばかげているように聞こえるかもしれませんが、ご容赦ください :-)
私はExcelファイルを持っていて、いくつかの手動タスクを行っていましたが、自動化するためにそれらをVBAコードに変換しました。うまくいきます。
次に、これを配布しない理由を決定しました。そこで、VBA コードを保護する方法を探しましたが、何も見つかりませんでした。最も可能性の高い方法は、それをDLLに変換し、Excel内で「ツール->参照を追加-> mytoolsDLL」を使用してDLLを呼び出すことでした。DLL コードが表示されないため、ある程度の保護が提供されます。そこで、VBA を DLL に変換する方法を調べました。ソリューションは「Visual Studio-> クラス ライブラリ プロジェクト」を見つけました! クラス ライブラリ プロジェクトを使用してほぼすべての VBA を DLL に変換し、コンパイルして DLL を登録し、Excel 内で使用しましたが、すべて正常に動作しました。
さて、私がコンパイルしたこの DLL は、「COM アドイン」または「.NET」DLL として分類されるかどうかわかりません! 今日、.NET DLL を「逆コンパイル」するのは非常に簡単であることに気付きました。COM ADDINと.NETの「コード」の違いを調べてみましたが、ほとんどありません。この「DLL」をコーディングするとき、Google と MSDN をよく使用していましたが、それらはすべて「VB」として参照していました。
VBA を何かに変換する場合、それは "COM アドイン" または ".NET" である必要がありますか? 今日、VSTO について読みましたが、Visual Studio と COM ADDIN/.NET の間に VSTO がどのように入るのか疑問に思っていました。配布された DLL がライセンス管理されていることを確認するには、どのような手法を使用できますか? つまり、最初に「インストール」した後、DLL を他のマシンにコピーできませんか? VSTO 経由でライセンスの管理/制御を行うことはできますか?
ps: 用語/用語を混同していると思われる場合は、お気軽に訂正してください