プロが教える店舗&オフィスのセキュリティ対策術

Excel VBA  オブジェクトマクロ 使用指定について



お詳しい方教えてください。
共通エクセルファイルに4つのオブジェクトを挿入して個々に別のマクロを組み込んだのですが、そのオブジェクト毎に専用の人しか使用できないという条件指定をする事は可能なのでしょうか?

※人物指定はUser Nameでいけそうな気がするのですが・・


オブジェクト1 Aさんのみ押せる
オブジェクト2 Bさんのみ押せる

間違え防止として表示などで注意喚起しても間違えてしまうらしく・・

以上 アドバイスいただけたら助かります

A 回答 (2件)

こんにちは



>人物指定はUser Nameでいけそうな気がするのですが・・
使用者が限定できるのなら可能ですね。

>オブジェクト1 Aさんのみ押せる
オブジェクト1の実行プロシージャで
 IF Application.UserName <> ”Aさん” Then Exit Sub
などとしておけば、Aさん以外では無反応になります。

とは言え、「無反応」というのもユーザーにとっては不親切なので、アラート等を表示するか、あるいはブックのOpenイベントで、そのユーザが使えるオブジェクトのみを表示しておくようにするなどの方がよさそうな気もします。
(こちらの方法なら、各オブジェクトのプロシージャでユーザーを判別する必要もなくなるでしょう)
    • good
    • 0
この回答へのお礼

対応できました ありがとうございます!

お礼日時:2023/03/14 18:48

こんな感じでしょうか


User Nameで
Sub sample()
Select Case Environ("USERNAME")
Case "AA": Call AA
Case "BB": Call BB
End Select
End Sub

Sub AA()
MsgBox "AA"
End Sub

Sub BB()
MsgBox "BB"
End Sub


ボタン登録はsample
USERNAMEで処理を分ける
"AA" "BB" は実際のログインユーザー名にします
    • good
    • 1

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