過去ログ

                                Page      34
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼マクロを実行させない方法ありますか?  こうすけ 02/9/4(水) 18:44
   ┗Re:マクロを実行させない方法ありますか?  ぴかる 02/9/4(水) 19:59
      ┗Re:マクロを実行させない方法ありますか?  こうすけ 02/9/5(木) 10:03

 ───────────────────────────────────────
 ■題名 : マクロを実行させない方法ありますか?
 ■名前 : こうすけ
 ■日付 : 02/9/4(水) 18:44
 -------------------------------------------------------------------------
   失礼いたします。
このBBSで、大変勉強させて頂いております。

表題についてご教授いただければと思い、書き込ませていただきました。
内容としましては、
ユーザに「ツール」→「マクロ」→「マクロの実行」で、勝手にマクロを実行
させない方法で悩んでおります。

ただし、以下は出来ません。 
・メニューバーを非表示にする(出荷上の都合)
・関数を全てPrivate宣言する(規模が小さくない為、今更無理ですw)

マクロの実行を押せない状態にするか、パスワードをかける、または「ツール」のみ
非表示にする事が出来れば一番良いと考えておりますが、
そういった方法はございますでしょうか?

・・・文章は下手なので、お見苦しい文章になってしまった気がします(^^;;
以上、どなたかご教授いただければ幸いです。よろしくお願いいたします。
 ───────────────────────────────────────  ■題名 : Re:マクロを実行させない方法ありますか?  ■名前 : ぴかる  ■日付 : 02/9/4(水) 19:59  -------------------------------------------------------------------------
   こうすけさん、こんばんは。

こんな感じでどうでしょうか?。該当ブックのみマクロを使えなくします。
Sub AUTO_OPEN()

  With Application
   .CommandBars("Worksheet Menu Bar").Controls(6).Controls(12).Enabled = False
  For I = 1 To 7
   .CommandBars("Visual Basic").Controls(I).Enabled = False
  Next
  End With

End Sub
Sub AUTO_CLOSE()

  With Application
   .CommandBars("Worksheet Menu Bar").Controls(6).Controls(12).Enabled = True
  For I = 1 To 7
   .CommandBars("Visual Basic").Controls(I).Enabled = True
  Next
  End With

End Sub
 ───────────────────────────────────────  ■題名 : Re:マクロを実行させない方法ありますか?  ■名前 : こうすけ  ■日付 : 02/9/5(木) 10:03  -------------------------------------------------------------------------
   ▼ぴかる さん:
>こうすけさん、こんばんは。
>
>こんな感じでどうでしょうか?。該当ブックのみマクロを使えなくします。
>Sub AUTO_OPEN()
>
>  With Application
>   .CommandBars("Worksheet Menu Bar").Controls(6).Controls(12).Enabled = False
>  For I = 1 To 7
>   .CommandBars("Visual Basic").Controls(I).Enabled = False
>  Next
>  End With
>
>End Sub
>Sub AUTO_CLOSE()
>
>  With Application
>   .CommandBars("Worksheet Menu Bar").Controls(6).Controls(12).Enabled = True
>  For I = 1 To 7
>   .CommandBars("Visual Basic").Controls(I).Enabled = True
>  Next
>  End With
>
>End Sub

ご回答いただきまして、ありがとうございます。
97、2000で試してみましたが、ツールの項目数が12と13の違いがあっただけで、
うまくいきました(^^

VBエディタもツールから指定出来なくなるという問題があると思いますが、
Alt+F11キーで出せば済みますので、問題ないかと思います。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 34