-1

私の質問はばかげているように聞こえるかもしれませんが、ご容赦ください :-)

私は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: 用語/用語を混同していると思われる場合は、お気軽に訂正してください

4

1 に答える 1

1

開発者環境でプロジェクトを右クリックし、[VBAProject プロパティ] を選択し、[保護] タブを選択して、vba プロジェクトを保護するためのパスワードを設定してみませんか?

于 2014-07-17T09:58:20.283 に答える