Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4010 / 13646 ツリー ←次へ | 前へ→

【58887】VBAをRunする時に、制御をかけたい 夜勤担当 08/11/16(日) 13:34 質問[未読]
【58892】Re:VBAをRunする時に、制御をかけたい ponpon 08/11/16(日) 16:06 発言[未読]
【58893】Re:VBAをRunする時に、制御をかけたい 夜勤担当 08/11/16(日) 19:05 質問[未読]
【58894】Re:VBAをRunする時に、制御をかけたい ponpon 08/11/16(日) 19:44 発言[未読]
【58896】Re:VBAをRunする時に、制御をかけたい 夜勤担当 08/11/17(月) 7:38 お礼[未読]

【58887】VBAをRunする時に、制御をかけたい
質問  夜勤担当  - 08/11/16(日) 13:34 -

引用なし
パスワード
   こんにちは

 以下のVBAを実施するときに、あるPasswordを知らないと、実施できないように
したいですが、対応方法は分からなくて、ご指導してください。
よろしくお願いします。
分からないことは、
1.コード内にあるPasswordを仕込む方法
2.step_005を実施すると、パスワード入力要求の処理が分からない
3.入力されたパスワードと仕込んだpasswordと比較して、
 Trueの場合は、実施
 falseの場合は、終了

Sub step_005()
Dim sheet1 As Worksheet
Set sheet1 = Worksheets("Sheet1")
sheet1.Protect Password:="password", _
AllowFormattingCells:=True
End Sub

【58892】Re:VBAをRunする時に、制御をかけたい
発言  ponpon  - 08/11/16(日) 16:06 -

引用なし
パスワード
   ▼夜勤担当 さん:
>こんにちは
>
> 以下のVBAを実施するときに、あるPasswordを知らないと、実施できないように
>したいですが、対応方法は分からなくて、ご指導してください。
>よろしくお願いします。
>分からないことは、
>1.コード内にあるPasswordを仕込む方法
>2.step_005を実施すると、パスワード入力要求の処理が分からない
>3.入力されたパスワードと仕込んだpasswordと比較して、
> Trueの場合は、実施
> falseの場合は、終了
>
>Sub step_005()
>Dim sheet1 As Worksheet
>Set sheet1 = Worksheets("Sheet1")
>sheet1.Protect Password:="password", _
>AllowFormattingCells:=True
>End Sub

inputboxでパスワードを要求する方法です。

Sub step_005()
  Dim sheet1 As Worksheet
  Dim res As String

  Set sheet1 = Worksheets("Sheet1")
  res = Application.InputBox("パスワードをどうぞ", Title:="パスワード入力", Type:=2)
  If res = "password" Then
    sheet1.Protect Password:="password", _
    AllowFormattingCells:=True
  Else
    MsgBox "パスワードが違います。 残念!"
    Exit Sub
  End If
End Sub


「*********」のように表示するには、ユーザーフォームを使い
Textboxを利用するとできると思います。

【58893】Re:VBAをRunする時に、制御をかけたい
質問  夜勤担当  - 08/11/16(日) 19:05 -

引用なし
パスワード
   ponponさん
ありがとうございます。
早速やってみました。問題なく動いています。
>「*********」のように表示するには、ユーザーフォームを使い
>Textboxを利用するとできると思います。
この方法もご伝授いただけませんか?

【58894】Re:VBAをRunする時に、制御をかけたい
発言  ponpon  - 08/11/16(日) 19:44 -

引用なし
パスワード
   ▼夜勤担当 さん:
>ponponさん
>ありがとうございます。
>早速やってみました。問題なく動いています。
>>「*********」のように表示するには、ユーザーフォームを使い
>>Textboxを利用するとできると思います。
>この方法もご伝授いただけませんか?


標準モジュールに

Public myPas As Boolean
Sub step_005()
  Dim sheet1 As Worksheet
  
  Set sheet1 = Worksheets("Sheet1")
  UserForm1.Show
  If myPas Then
    sheet1.Protect Password:="password", _
    AllowFormattingCells:=True
  Else
    MsgBox "パスワードが違います。 残念!"
    Exit Sub
  End If
End Sub

ユーザーフォームに
 TextBoxを一つとコマンドボタンを一つ貼り付けてください。
フォームモジュールに
Private Sub UserForm_Initialize()
Me.Caption = "パスワード入力"
Me.TextBox1.PasswordChar = "*"

End Sub

Private Sub CommandButton1_Click()
  myPas = False
 If Me.TextBox1.Text = "password" Then
   myPas = True
 End If
 Unload Me
End Sub

こんな感じでできると思います。

【58896】Re:VBAをRunする時に、制御をかけたい
お礼  夜勤担当  - 08/11/17(月) 7:38 -

引用なし
パスワード
   ponponさん

新しい勉強ができました!
有難うございました。

4010 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free