ここから本文です

エクセルのVBAマクロプログラムですが 社内の2台のパソコンでしか動作しないよう...

nor********さん

2018/4/1811:46:15

エクセルのVBAマクロプログラムですが
社内の2台のパソコンでしか動作しないようにする方法は
ありますでしょうか。

自社開発したエクセルのVBAプログラムが
社員によってコピーされ社外に持ち出されて
他で勝手に使用されないようにしたいです。

パスワードを使う方法は社員がパスワードを知っているので
使えないと思います。

できるだけ安く時間をかけずに対策したいため

そんなにレベルが高いものは求められず
プログラムがわからない人は
他のパソコンで実行しようとしても使えない
でもプログラマーなら使用できる
というレベルでも良いと考えています。

何か良い知恵はありますでしょうか。

閲覧数:
75
回答数:
5
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

MKさん

2018/4/1811:57:32

プロジェクトのパスワードをかけることはもちろんですが(実行とは関係ない)、

マクロの開始部分に環境チェックを入れたらどうでしょうか。
例えばホスト名が動かしたいPC以外でなかったら修了するなど。

Sample()
Set wshNW = CreateObject("WScript.Network")
If wshNW.ComputerName <> "共有PC1" And wshNW.ComputerName <> "共有PC2" Then
MsgBox "この PC では実行できません"
End
End If

わかるとは思いますが、あらかじめ動かしたいPCのホスト名を調べて上記の”共有PC*” の部分に入れておく必要があります。

ホスト名を変えれば動かせますが、それも嫌なら MAC Address を確認するなどになりますが、今回そこまで求めてはなさそうですね。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/4/19 00:49:59

プログラムコードまで
いただきありがとうございました!

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

tao********さん

2018/4/1814:03:37

簡単でそこそこ他パソコンで使えなくするには
mooさんがおっしゃっているように
VBAプロジェクトをパスワードロックし、
起動時にその二台のPCでの起動でなかったら
使えないようにするプログラムを書いておくことでしょう。

これなら情報強者がパスワードを
解析しようとしない限りは使えません。
解析はちなみにできる人にはできます。

webnaveさん

2018/4/1812:20:39

独自のdllファイルを作成して2台のPCにのみビルドしておき。
VBA内でそのdllを参照設定して利用する

VBAから扱えるDLLの作成
http://excel.syogyoumujou.com/memorandum/dll_1.html

これならマクロの解析ができる人でも、ちょっと手出しできないはず

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

meg********さん

2018/4/1811:54:49

社外に持ち出されることに対してと言うのなら、プログラムがわからない人はわかる人に聞く事で使えてしまうのでは?

だってそこまでの物でないなら持ち出さないでしょう

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ste********さん

2018/4/1811:50:53

MACアドレスで制限するのはいかがでしょうか?
ソースを書き換えられたらおしまいですが。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる