Excel VBA質問箱 IV

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

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


22049 / 76734 ←次へ | 前へ→

【60070】Re:ログインユーザー名を判定して、ファイルへの書き込みを制御するには?
回答  ひつまぶし  - 09/1/26(月) 18:21 -

引用なし
パスワード
   ブックを閉じる時に保存する場合の考慮が不足してますね。
(ブックが開き直されちゃいますね。)
失礼しました。
BeforeCloseイベントにも考慮が必要です。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ret As VbMsgBoxResult
Dim sh As Object
  If Not Me.Saved Then
    ret = MsgBox("'" & Me.Name & "' への変更を保存しますか?", _
      vbYesNoCancel + vbExclamation)
    Select Case ret
    Case vbYes
      For Each sh In Me.Sheets
        If Not sh.ProtectContents Then
          sh.Protect cnsPathWd
        Else
          On Error Resume Next
          sh.Unprotect cnsPathWd
          sh.Protect cnsPathWd
          On Error GoTo 0
        End If
      Next
      Application.EnableEvents = False
      Me.Save
      Application.EnableEvents = True
    Case vbNo
      Me.Saved = True
    Case vbCancel
      Cancel = True
      Exit Sub
    End Select
  End If
End Sub


同じようなコードはまとめてプロシージャ化した方がいいかもしれません。

2 hits

【60062】ログインユーザー名を判定して、ファイルへの書き込みを制御するには? viviko 09/1/26(月) 15:36 質問
【60063】Re:ログインユーザー名を判定して、ファイ... 超初心者 09/1/26(月) 16:09 発言
【60068】Re:ログインユーザー名を判定して、ファイ... viviko 09/1/26(月) 18:04 お礼
【60065】Re:ログインユーザー名を判定して、ファイ... ひげくま 09/1/26(月) 16:16 発言
【60067】Re:ログインユーザー名を判定して、ファイ... viviko 09/1/26(月) 18:02 お礼
【60066】Re:ログインユーザー名を判定して、ファイ... ひつまぶし 09/1/26(月) 17:17 回答
【60069】Re:ログインユーザー名を判定して、ファイ... viviko 09/1/26(月) 18:07 お礼
【60070】Re:ログインユーザー名を判定して、ファイ... ひつまぶし 09/1/26(月) 18:21 回答
【60121】Re:ログインユーザー名を判定して、ファイ... viviko 09/1/28(水) 9:32 お礼
【60122】Re:ログインユーザー名を判定して、ファイ... ひつまぶし 09/1/28(水) 10:14 発言

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