[[20090306092502]] 『マクロ名の非表示』(がちゃぴん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ名の非表示』(がちゃぴん)

こんにちわ。
ツール→マクロ→マクロ→マクロ名に表示されるマクロ名を、マクロを組んで非表示にすることは出来ないでしょうか?
画面上にボタンを配置して、パスワードを入力する事で、ボタンでマクロの表示非表示を切替えたいのですが。
マクロを作ったのですが、他人に見られたくないのとマクロの数が少し多いので、マクロを組んで一括で表示非表示を切替えたいのですが。。。


 VBAProjectのプロパティの保護タブで「プロジェクトを表示用にロックする」に
 チェックを入れてパスワードで保護

 これでコードを見られなく出来ます。

 プロシージャを
 Private Sub
 や
 Function
 にする

 でツール→マクロ→マクロ
 で表示されるプロシージャ一覧に表示されなくなります。
 マクロは手動ではなくコマンドボタンやショートカットキーなどから実行できます。
 コマンドボタンなどもユーザーの操作によって表示/非表示を切り替えられます。

 単純、かつ、確実なのは、データブックとマクロブック
 を分けることです。
 通常のユーザーにはデータブックを使わせ、マクロを許可する
 ユーザーにはマクロブックを使わせます。
 マクロブックからデータブックを制御するようにしておきます。
 (MARBIN)

MARBINさん、有難う御座います。マクロブックは知りませんでした。調べてみます。
もしマクロブックについて分かりやすいサイトなどがありましたら教えてください。


 マクロブックというのは、マクロを記述してあるブックのことですので、
 どこかに用意されているとかではないです。

 ↓のようなかんじで他ブックを制御できます。

 Dim  wbA As Workbook
 Dim WbB As Workbook
  Set wbA = ThisWorkbook 'マクロを記述してあるブック自身/マクロブック
  Set wbB = ActiveWorkbook 'アクティブブック/データブック
  MsgBox wbA.Name 'wbAのブック名取得
  MsgBox wbB.Name 'wbBのブック名取得/アクティブブックを制御
  Set wbA = Nothing
  Set wbB = Nothing

  ↓のようにブックを起動して制御することも可能です。

 Set wbB = Workbooks.Open("ブックのフルパス")

  MsgBox wbB.Name
 (MARBIN)

「マクロの表示・非表示」ではないのですが、他人が作成したマクロ(vba)なのです。userfrom?で作成されたボタンはsheet上にありで、クリックすればマクロは実行されます。vbaprojectには表示されません。別の方法で作成されたボタンなのでしょう?あるいはpass.設定なんて考えられますでしょう?悩んでます。アドバイスお願いいたします。(悩み花子)


 おそらく、ActiveX(コントロールツールボックス)のコマンドボタンでは?
 そのボタンが貼り付けられているシートのシートタブを右クリックしてコードの表示を選んでみて。
 なにか、コードが書かれていないかな?

 (ぶらっと)

ビンゴでした。自分なりに調べてみましたが、ActiveXはuserformよりは
汎用性があるという事ですよね!

ぶらっとさんありがとうございました。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.