web-dev-qa-db-ja.com

Microsoft Excelマクロをロックダウンする

私は、多くの企業にとって潜在的にお金の価値があるExcelマクロを書くことに時間を費やしました。

ソースを見る/他の人に転送するのを防ぐためにマクロをロックダウンするにはどうすればよいですか?

ありがとう

21
Dave

Excel VBAコードの保護/ロック

VBAコードを記述するとき、VBAマクロコードをエンドユーザーに見えないようにすることがしばしば望まれます。これは、知的財産を保護したり、ユーザーがコードをいじったりするのを防ぐためです。 Excelの保護機能は、安全と見なされるものとはほど遠いことに注意してください。 販売されている多くのVBAパスワードリカバリ[ツール]もあります

コードを保護するには、Excelワークブックを開き、[ツール]> [マクロ]> [Visual Basic Editor](Alt + F11)に移動します。次に、VBE内から[ツール]> [VBAProjectのプロパティ]に移動し、[保護]ページタブをクリックして、[プロジェクトの表示をロック]をオンにし、パスワードをもう一度入力して確認します。これを行った後、保護を有効にするには、ワークブックを保存して閉じてから再度開く必要があります。

(エンファシス鉱山)

あなたの最善策のようです。コードを盗もうとする人を止めることはできませんが、偶然の海賊を止めるには十分です。

コードのコンパイル済みコピーを配布できたとしても、人々を止めることは何もない decompiling it.

19
Brian Beckett

ワークブックとワークシートをパスワードで保護できるように、Excelのマクロが表示(および実行)されないようにパスワードで保護できます。

ワークシートにコマンドボタンを配置し、次のコード行を追加します。

  1. 最初に、保護したい簡単なマクロを作成します。

    Range("A1").Value = "This is secret code"

  2. 次へツールをクリックしてから、VBAProjectのプロパティ...

enter image description here

[ツール]、[VBAProjectのプロパティ...]をクリックします。

  1. 保護タブで、「表示のためにプロジェクトをロック」にチェックを入れて入力しますパスワードを2回。

enter image description here

パスワードを2回入力してください

  1. [〜#〜] ok [〜#〜]をクリックします。

  2. Saveclose、Excelファイルを再度開きます。コードを表示してみてください。

enter image description here

次のダイアログボックスが表示されます。

閲覧から保護されたパスワード

コマンドボタンをクリックしてコードを実行することはできますが、コードを表示または編集することはできません(パスワードがわからない場合)。ダウンロード可能なExcelファイルのパスワードは「簡単」です。

  1. マクロの実行をパスワードで保護する場合は、次のコード行を追加します。
Dim password As Variant
password = Application.InputBox("Enter Password", "Password Protected")

Select Case password
    Case Is = False
        'do nothing
    Case Is = "easy"
        Range("A1").Value = "This is secret code"
    Case Else
        MsgBox "Incorrect Password"
End Select

シートのコマンドボタンをクリックしたときの結果:

enter image description here

実行されないように保護されたパスワード

説明:マクロは、アプリケーションオブジェクトのInputBoxメソッドを使用します。ユーザーが[キャンセル]をクリックすると、このメソッドはFalseを返し、何も起こりません(InputBoxは消えます)。ユーザーがパスワードを知っている場合のみ(再び「簡単」)、シークレットコードが実行されます。入力したパスワードが正しくない場合、MsgBoxが表示されます。プロジェクトは表示されないように保護されているため、ユーザーはVisual Basic Editorでパスワードを確認できないことに注意してください。

12
shareef

この新製品は http://hivelink.io で確認できます。機密のマクロを適切に保護できます。

Excelのパスワードシステムは非常に弱いため、基本的なHEXエディターを使用するだけで2分で解読できます。これに頼って何かを保護することはお勧めしません。

このトピックに関する広範な記事をここに書きました: Excelワークブックのコードの保護?

9
stuzor

password をvbaコードに設定できますが、これはquite簡単に壊れます。

また、addinを作成し、[〜#〜] dll [〜#〜]。詳細については、 here を参照してください。これは、少なくともコードを保護する最も安全な方法です。

よろしく、

1
JMax

最新のアプローチは、重要なコードのためにVBAから離れ、c#またはvb.netを使用して.NET管理アドインを作成することです。これには、wwwに多くのリソースがあり、MSのExpressバージョンを使用できますVisual Studio

1

OfficeProtectとAppProtectまたはQuickLicense/AddLicenseを使用して、ExcelスプレッドシートからMacまたはWindows用の保護されたアプリケーションを生成します。 www.excelsoftware.com/videosに、「Protect Excel Spreedsheet」というデモビデオがあります。

0
harold