Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4878 / 13644 ツリー ←次へ | 前へ→

【53770】VBAProjectのロックをVBAで設定する方法 chero 08/2/6(水) 15:08 質問[未読]
【53776】Re:VBAProjectのロックをVBAで設定する方法 ハチ 08/2/6(水) 19:47 発言[未読]
【53802】Re:VBAProjectのロックをVBAで設定する方法 chero 08/2/7(木) 19:10 発言[未読]
【53783】Re:VBAProjectのロックをVBAで設定する方法 VBWASURETA 08/2/7(木) 9:41 発言[未読]
【53801】Re:VBAProjectのロックをVBAで設定する方法 chero 08/2/7(木) 19:09 発言[未読]
【53804】Re:VBAProjectのロックをVBAで設定する方法 VBWASURETA 08/2/7(木) 19:42 発言[未読]
【53842】Re:VBAProjectのロックをVBAで設定する方法 mano 08/2/9(土) 0:33 回答[未読]
【53797】Re:VBAProjectのロックをVBAで設定する方法 mano 08/2/7(木) 16:50 回答[未読]
【53800】Re:VBAProjectのロックをVBAで設定する方法 chero 08/2/7(木) 19:08 お礼[未読]
【53799】Re:VBAProjectのロックをVBAで設定する方法 statis 08/2/7(木) 18:02 発言[未読]

【53770】VBAProjectのロックをVBAで設定する方法
質問  chero  - 08/2/6(水) 15:08 -

引用なし
パスワード
   はじめまして。cheroと申します。
VBA初心者です。

Excel2000で、VBAProjectにパスワードによるロックをかけたい場合、
VBEで
[VBAProjectのプロパティ]
-[保護]タブ
-パスワード欄に任意のパスワード入力
-[プロジェクトを表示用にロックする]チェックボックスをON
にて設定可能ですが、
これをVBAのコードで記述する方法はありますでしょうか。

理由は、マクロで動的に生成したランダムパスワードを
EXCEL起動時に毎回設定し直したいためです。
悪意を持ってパスワードを解除しようする行為に対し、
完璧に防御できるものではないのは承知しています。

よろしくお願いします。

【53776】Re:VBAProjectのロックをVBAで設定する方...
発言  ハチ  - 08/2/6(水) 19:47 -

引用なし
パスワード
   ▼chero さん:
>Excel2000で、VBAProjectにパスワードによるロックをかけたい場合、
>VBEで
>[VBAProjectのプロパティ]
>-[保護]タブ
>-パスワード欄に任意のパスワード入力
>-[プロジェクトを表示用にロックする]チェックボックスをON
>にて設定可能ですが、
>これをVBAのコードで記述する方法はありますでしょうか。

これはどこかのサイトで、
『できない』と書いてあるのを見た気がします。
パスワードを解除することも『できない』だったと記憶しています。
(間違ってたらすいません)

>理由は、マクロで動的に生成したランダムパスワードを
>EXCEL起動時に毎回設定し直したいためです。
>悪意を持ってパスワードを解除しようする行為に対し、
>完璧に防御できるものではないのは承知しています。

この仕様でいくと
cheroさんも開くことができなくなると思いますけど、
大丈夫なんでしょうか?

強度の高いパスワード(8文字以上の記号混在)を設定するのが、
現実的だと思います。

【53783】Re:VBAProjectのロックをVBAで設定する方...
発言  VBWASURETA  - 08/2/7(木) 9:41 -

引用なし
パスワード
   ▼chero さん:

おはようございます。
実際調べてはいないですが、これに対してレスしにくい部分がありますね。
もしパスワードにロックができたとして、解除も可能ということに
発展もできますし。

質問ルール上に以下のようなのもありますから。

・してはいけない質問について
 困ったことは基本的にどんな質問をされてもかまわないのですが、
 その中でも不適切な質問、というのがあります。以下のような質問は原則としてしないでください。お願いします。

 ・セキュリティ上好ましくない結果を招く内容
   例:ExcelやAccessのセキュリティレベルを変更するコード
     ファイルのパスワードを調べる(破る)コード

【53797】Re:VBAProjectのロックをVBAで設定する方...
回答  mano  - 08/2/7(木) 16:50 -

引用なし
パスワード
   >Excel2000で、VBAProjectにパスワードによるロックをかけたい場合、
>VBEで
>[VBAProjectのプロパティ]
>-[保護]タブ
>-パスワード欄に任意のパスワード入力
>-[プロジェクトを表示用にロックする]チェックボックスをON
>にて設定可能ですが、
>これをVBAのコードで記述する方法はありますでしょうか。

開発者向けですが、こちら参考になりませんか。
VBAプロジェクトの保護や解除を行う
Protectメソッド、Unprotectメソッドが使えます。
//www.vector.co.jp/soft/win95/business/se415128.html

>理由は、マクロで動的に生成したランダムパスワードを
>EXCEL起動時に毎回設定し直したいためです。

徒労のような気がします。
それよりプロジェクト解除のダイアログを表示しないようにするのが良いのでは。
E03M137 プロジェクトロックに蓋をする
//homepage2.nifty.com/kmado/kvba.htm

【53799】Re:VBAProjectのロックをVBAで設定する方...
発言  statis  - 08/2/7(木) 18:02 -

引用なし
パスワード
   ▼chero さん:
こんにちは

>理由は、マクロで動的に生成したランダムパスワードを
>EXCEL起動時に毎回設定し直したいためです。
>悪意を持ってパスワードを解除しようする行為に対し、
>完璧に防御できるものではないのは承知しています。

残念ながら完璧とはいえません。解除することが出来るからです。

【53800】Re:VBAProjectのロックをVBAで設定する方...
お礼  chero  - 08/2/7(木) 19:08 -

引用なし
パスワード
   ▼mano さん:
>VBAプロジェクトの保護や解除を行う
>Protectメソッド、Unprotectメソッドが使えます。
> //www.vector.co.jp/soft/win95/business/se415128.html
有用な情報ありがとうございます!
ただし、顧客に納品するものなので、フリーのCOMアドインは
許可が降りないかもしれません。検討してみます。

>それよりプロジェクト解除のダイアログを表示しないようにするのが良いのでは。
>E03M137 プロジェクトロックに蓋をする
> //homepage2.nifty.com/kmado/kvba.htm
この方法も検討しています。
顧客に対し納品するツールですので、信用が前提にあるのですが、
もし仮に、悪意でパスワードが破られた場合でも、
改竄・転用禁止の意思が伝わるようにできるだけの対策はしようと思っています。

【53801】Re:VBAProjectのロックをVBAで設定する方...
発言  chero  - 08/2/7(木) 19:09 -

引用なし
パスワード
   ▼VBWASURETA さん:
>質問ルール上に以下のようなのもありますから。
> ・セキュリティ上好ましくない結果を招く内容
>   例:ExcelやAccessのセキュリティレベルを変更するコード
>     ファイルのパスワードを調べる(破る)コード
はい、このルールは存じています。
実際、迷ったのですが、解除ではなくロックの方法ですし、
手動で設定できることをVBA化するだけなので問題なしと判断しました。
同様に解除をするメソッドなどが存在するとしても、
パスワードを指定して解除する仕様になっているはずなので
悪用されるような内容に発展するとは考えませんでした。
私の浅慮でしょうか。
問題があるようでしたら削除致しますので、ご意見をお願いします。

【53802】Re:VBAProjectのロックをVBAで設定する方...
発言  chero  - 08/2/7(木) 19:10 -

引用なし
パスワード
   ▼ハチ さん:
>この仕様でいくと
>cheroさんも開くことができなくなると思いますけど、
>大丈夫なんでしょうか?
はい。顧客に納品するものにだけこのコードを追加するつもりです。
手元の原本はいつでも開けますので問題ありません。

【53804】Re:VBAProjectのロックをVBAで設定する方...
発言  VBWASURETA  - 08/2/7(木) 19:42 -

引用なし
パスワード
   ルールでそうなっているというだけです。
管理者ではないので、問題となるのなら避けた方が
良いかも知れませんという事です。


>同様に解除をするメソッドなどが存在するとしても、
>パスワードを指定して解除する仕様になっているはずなので
>悪用されるような内容に発展するとは考えませんでした。
>私の浅慮でしょうか。

この話の回答ですが、あまり書くと問題になりそうなので
軽く書きますが。
パスワードが繰り返し入れられるということは?
で、気づいてくださいね。


>問題があるようでしたら削除致しますので、ご意見をお願いします。


でも、皆さん回答してますので削除できないですね。

【53842】Re:VBAProjectのロックをVBAで設定する方...
回答  mano  - 08/2/9(土) 0:33 -

引用なし
パスワード
   >>同様に解除をするメソッドなどが存在するとしても、
>>パスワードを指定して解除する仕様になっているはずなので
>>悪用されるような内容に発展するとは考えませんでした。
>>私の浅慮でしょうか。
>
>この話の回答ですが、あまり書くと問題になりそうなので
>軽く書きますが。
>パスワードが繰り返し入れられるということは?
>で、気づいてくださいね。

何を気づけばいいのかよく分りませんが、
総当たり(ブルートアタック)の事でしょか。
そうであれば、
英数字(62文字)の組合せで8文字程度のパスワードならば
解除メソッドで総当たりしても何万年もかかますよ。
だからこの事については、悪用も無理だし問題ないように思います。

4878 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free