advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 27301 for マクロ (0.014 sec.)
[[20100119152414]]
#score: 2167
@digest: 6af3a378d2d3799f91ee696d3e4d0695
@id: 47287
@mdate: 2010-01-21T00:34:43Z
@size: 7507
@type: text/plain
#keywords: 効ボ (80655), macroenabled (77111), macroflg (27823), ーー (26158), ンma (23330), 略ー (21971), ー省 (20163), ロ無 (19156), ーpr (15115), msobarpopup (12602), showpopup (10205), ロ有 (8502), 無効 (6498), ーen (6352), beforerightclick (6066), 付" (5654), ーく (5318), position (4388), onaction (3745), 有効 (3210), commandbars (3052), boolean (3032), なー (2997), userform2 (2964), unload (2780), public (2730), commandbutton2 (2429), cancel (2264), 効で (2199), 専用 (2041), controls (1914), private (1872)
マクロ無効・有効ボタン』(初心者なーくん)
2010/01/19(火)16:30 教えて下さい。 ブックAをマクロ有効で開いて(自分の周りの人はとりあえず有効で開きます)、 その時にユーザーフォームを出して読み取り専用(閲覧用)のマクロ無効ボタンと、 書き込み専用(管理者用)のマクロ有効ボタン(パスワード付)のマクロを組みたい のですが(見られたくないシートや列がある為です)、 わからないので始めて投稿します。 過去ログを参考にしながら ThisWorkbookに Private Sub workbook_open() UserForm2.Show End Sub 'ーーーーーーーー Private Sub CommandButton1_Click() 'マクロ無効ボタン MacroFlg = True Unload Me End Sub 'ーーーーーーーー Private Sub CommandButton2_Click() Dim x As String x = Application.InputBox("pass") If x <> "123" Then MsgBox "x" Exit Sub End If MsgBox "o" 'マクロ有効ボタン MacroFlg = False Unload Me End Sub 'ーーーーーーーー Option Explicit Public MacroFlg As Boolean Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If MacroFlg = True Then Exit Sub If Target.Column = 1 Then With CommandBars.Add(Position:=msoBarPopup) With .Controls.Add .Caption = Format(Date, "mm/dd/yy") .OnAction = "今日の日付" End With .ShowPopup .Delete End With Cancel = True End If 'ーーーーーーーー省略ーーーー End Sub 上記のマクロで無効で開いても有効になります。 宜しくお願いします 参考にしているのは @[[20090831110639]] 『マクロ無効・有効ボタン』(マクロほんの一歩) です もうひとつの方法として、 A[[20070718163633]] 『マクロでBookを開く時に、開くBookのマクロを無効』(角) のやり方を同じbookではできないでしょうか? 環境は、WindowsXP、Excel2003です ---- Boolean型変数の初期値は Falseです。 True/Falseを逆にした方が良さそうな... Option Explicit Public MacroEnabled As Boolean Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If MacroEnabled Then If Target.Column = 1 Then With CommandBars.Add(Position:=msoBarPopup) With .Controls.Add .Caption = Format(Date, "mm/dd/yy") .OnAction = "今日の日付" End With .ShowPopup .Delete End With Cancel = True End If 'ーーーーーーーー省略ーーーー End If End Sub Private Sub workbook_open() UserForm2.Show End Sub 'ーーーーーーーー Private Sub CommandButton1_Click() 'マクロ無効ボタン Unload Me End Sub 'ーーーーーーーー Private Sub CommandButton2_Click() Dim x As String x = Application.InputBox("pass") If x <> "123" Then MsgBox "x" Exit Sub Else MsgBox "o" 'マクロ有効ボタン MacroEnabled = True Unload Me End If End Sub (seiya) ---- (seiya)さん、ありがとうございます。 さっそく試してみましたが、読み取り専用(閲覧用)のマクロ無効ボタンは うまくいくようになりましたが、今度は書き込み専用(管理者用)のマクロ有効 ボタンもマクロ無効になります。どうしたらいいですか? (初心者なーくん) ---- MsgBox "o" は表示されますか? (seiya) ---- MsgBox "o" は表示されます。 (初心者なーくん) ---- Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) が起動してしまう、ということですよね? 現在のコードを提示してください。 (seiya) ---- いえ、違います?! MsgBox "o" は表示されますがマクロ無効状態です。 通常のショートカットメニューが表示されます。 オリジナルは表示されません。 以下が現在のコードです。 Sheet1に Option Explicit Public MacroEnabled As Boolean Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If MacroEnabled Then If Target.Column = 1 Then With CommandBars.Add(Position:=msoBarPopup) With .Controls.Add .Caption = Format(Date, "mm/dd/yy") .OnAction = "今日の日付" End With .ShowPopup .Delete End With Cancel = True End If 'ーーーーーーーー省略ーーーー End If End Sub '***************** ThisWorkbookに Private Sub workbook_open() UserForm2.Show End Sub '*************** UserFormに Private Sub CommandButton1_Click() 'マクロ無効ボタン Unload Me End Sub Private Sub CommandButton2_Click() Dim x As String x = Application.InputBox("pass") If x <> "123" Then MsgBox "x" Exit Sub Else MsgBox "o" 'マクロ有効ボタン MacroEnabled = True Unload Me End If End Sub '*********** 標準モジュールに Sub 今日の日付() Selection.Value = Date Selection.NumberFormat = "mm/dd/yy" End Sub (初心者なーくん) ---- 変ですね... Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) MsgBox MacroEnabled '<-一行挿入 If MacroEnabled Then これでTrueが返るかどうか確認してください。 もしかして、Debug modeにして夫々単体で起動していませんよね? Debug mode にすると、Global変数は初期化(False)されてしまいますよ? (seiya) ---- >もしかして、Debug modeにして夫々単体で起動していませんよね? >Debug mode にすると、Global変数は初期化(False)されてしまいますよ? ??? すみません。どう言うことですか? >MsgBox MacroEnabled '<-一行挿入 をするとFalseが返ります。 (初心者なーくん) ---- ブックを開いてから右クリックを実行する途中でVBEを起動させたりしていませんか? (seiya) ---- 念のため... Public MacroEnabled As Boolean を標準モジュールへ移動してください。 (seiya) ---- 感激です。出来ました。 ありがとうございます。 ながながとつきあってくれて・・・。 >念のため... >Public MacroEnabled As Boolean >を標準モジュールへ移動してください。 で希望通りの動きをしました。 なぜですか? あと、後学の為に教えて欲しいのですが、最初に投稿した時のAの 変形バージョンで同じ事できますか? (初心者なーくん) ---- 忘れていました... Public変数は標準モジュールで宣言します。 クラスモジュールで宣言した場合、親オブジェクトを指定する必要が... ThisWorkbook.MacroEnabled のように... AのバージョンもPublic変数を標準モジュールへ移動すればOKだと思います。 (seiya) ---- >Public変数は標準モジュールで宣言します。 了解です。 >AのバージョンもPublic変数を標準モジュールへ移動すればOKだと思います。 ??? Aのバージョンは、 Application.AutomationSecurity = msoAutomationSecurityForceDisable Workbooks.Open Filename:="ブックのフルパス" でマクロ無効になるみたいですがそのまま実行すると、二重に開く形になり 警告がでます。 どのようにすればいいですか? (初心者なーくん) ---- すみません。 リンク先を読んでいませんでした。 Aのバージョンで何をしたいのでしょう? (seiya) ---- 本当に、たびたび質問してすみません。 >Aのバージョンで何をしたいのでしょう? AのバージョンはAbookをマクロ有効で開いてBbookをマクロ無効で開くと言った内容 です。これを同じAbookを開いてマクロ無効で開くと言う事ができれば、さんざん教え て頂いていた事と同じ事ができるのかなぁと思いまして・・・。 ただ、まず、二重に開く形になり警告がでるんですよね。(当たり前ですが・・・) 色々なアプローチを知りたくて・・・。 (初心者なーくん) ---- そちらの方は経験がないので、リンク先で質問するか、新たに別スレを立てて 質問しなおした方がよいのでは? (seiya) ---- わかりました。 無理言ってすみません。 色々教えて頂きありがとうございました。 (初心者なーくん) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201001/20100119152414.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97050 documents and 608243 words.

訪問者:カウンタValid HTML 4.01 Transitional