アプリ版:「スタンプのみでお礼する」機能のリリースについて

そういうマクロがあるのか無いのかも分からないので、教えてください。
VBAProjectにパスワードを設定しています。これはマクロを無効にしてエクセルを開いたときにコードが管理者以外に見えないようにしたいためです。マクロを有効にして開いたときに、ある処理を走らせたあと、マクロごと消去したいのですが、コンパイル時にVBAにパスワードがっかっているために、うまくいかないようなのです。
どなたかご存知あれば、教えてください。
よろしくお願いいたします。

A 回答 (3件)

こんにちは。



ご質問の最終的な意図が明らかではありませんので、本来は、回答は控えるべきかもしれませんが、少し、書いておきます。

>実はダウンロードファイルにマクロを実装したいのです。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=2259005
(http://okwave.jp/kotaeru.php3?q=2259005)

でも書きましたが、それは、VBやDeveloper のディストリビューション・ウィザードやEXEPress を使ってインストールさせればよいと思います。つまり、それらの知識が必要だということです。

>マクロを無効にしてエクセルを開いたときにコードが管理者以外に見えないようにしたいためです。

マクロを無効にしても、パスワードを教えなければ、コードは見られません。
ただ、気にする人は、プライベート・デジタル署名を入れますね。入れても、気休め程度ですが。

ただ、もし著作権保護の立場からすれば、しょせん、一般のプロテクトは、パスワード・クラックされた終わりだし、また、クラックされても、クラックするような輩には分からないレベルのコーディング書くっていうのが、筋なんですね。

それと、単に、On Error Goto のエラートラップではなく、完全に、そのマクロの可能性のあるエラーがすべて見切っている時だけ、プロテクトをすべきだと私は思います。それ以下の状態では、プロテクトはしない、というのが、「VBAの暗黙のルール」だと思います。そうしないと、VB Editor が開かないので、何が原因なのか、ユーザーには解決できません。こういうのは、VBプログラマの人に多いような気がします。

どこかの人は、本家だとかなんとか、古いテクニックを使って、特殊なプロテクトをしているようですが、MSの考え方は、著作権を気にするなら「DLLか、COMにしなさい。出来ないなら、諦めなさい。」という論調です。だから、VBAのプロテクトを強化しなかったようですね。

近い将来、マクロはワークブック(データ)とは切り離しにはなるものの、そういう自爆型マクロというのは、今は、MS側では許さないように出来ています。やれば、できるような気がしますが、たぶん、アンチウィルスに確実に引っかかると思います。それは、古いバージョンのテクニックを使う、かつてマクロ・ウィルスとして存在していたものであり、ご質問の内容も、それに準ずるものですから、一般の掲示板では語られることのないものです。

その設計の方向性を変えるしかないと思います。
    • good
    • 0

こんにちは。



VBA Project の保護は、プログラムから一般の人には解除できません。
いくら調べても解決の方法は探せないでしょう。

SendKeys による方法がネットで紹介されているようですが、Excel の環境
はユーザー毎に違いますので、成功確率が低すぎて使いものにならないで
しょう。

結論は、設計から再検討することをオススメします。

また、余計なお世話かもしれませんが、老婆心ながら。

何のためにパスワードで保護するのか?

この意義を考えれば、簡単に解除できては困るのです。例え、ご自分の VBA
Project であり、パスワードも知っている、悪意もない、一時的に保護解除
したいだけだ...としても、プログラムから VBA Project の保護を解除する
方法が公開されてしまえば、誰でも簡単に「保護解除ツール」が作れてしま
うからです。

これが「いくら探しても情報が無い」理由です。

> マクロを有効にして開いたときに、ある処理を走らせたあと、マクロごと
> 消去したいのですが...

このマクロが Auto_Open や Workbook_Open にあるなら、ウイルスと誤解
されそうな動作ですよね...

あなたに悪意は無いでしょうが、誤解する人は必ずでてきます。
    • good
    • 0

ネットを探すと、VBAを使ってVBE画面を開いてSendkeyで制御するサンプルがあります。


VBAのパスワード制御はこのレベルでしか出来ないので、いつでも都合良く制御するのはかなり難しいかも知れません。

>マクロを有効にして開いたときに、ある処理を走らせたあと、マクロごと消去したいのですが

コードをアドインで保持するのは駄目なのですか?

この回答への補足

アドインのことですが、実はダウンロードファイルにマクロを実装したいのです。ユーザーがダウンロードで必要なファイルを取り出して、開いたときに必要な処理をする必要があり。。。

補足日時:2006/09/18 21:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!