|    | 
     UO3様 
 
k窓様のコードをそのまま貼り付けただけです。 
それで保存すると.xlamファイルになってしまいます。 
 
 
Option Explicit 
Const dPWD = vbBack & "Invalid" 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
 If Saved = False Then 
  Select Case MsgBox("'" & Name & "'への変更を保存しますか?", vbYesNoCancel Or vbExclamation) 
  Case vbNo 
   Saved = True 
  Case vbYes 
   Workbook_BeforeSave False, False 
  Case vbCancel 
   Cancel = True 
  End Select 
 End If 
End Sub 
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
 Dim st As Object 
 Set st = ActiveSheet 
 Cancel = True 
 With Application 
  .EnableEvents = False 
  If SaveAsUI Then 
   If Not Application.Dialogs(xlDialogSaveAs).Show Then Exit Sub 
  End If 
  .ScreenUpdating = False 
  IsAddin = True: Protect dPWD, , True 
  Save 
  Unprotect dPWD: IsAddin = False: Saved = True 
  st.Select 
  .ScreenUpdating = True: .EnableEvents = True 
 End With 
End Sub 
 
Private Sub Workbook_Open() 
 Unprotect dPWD: IsAddin = False: Saved = True 
End With 
End Sub 
 
Sub auto_open() 
  使用期限 = DateValue("2010/07/08") 
  規定パスワード = "123" 
  メッセージ = "パスワードは?" 
  タイトル = "使用期限を過ぎています。" 
  If Date > 使用期限 Then           'システム日付が使用期限後なら 
    入力パスワード = InputBox(メッセージ, タイトル) 'パスワードを入力してもらう 
    If 入力パスワード = 規定パスワード Then 'パスワードが正しければ 
      Exit Sub              '開いたままにしておく 
    End If 
    Application.DisplayAlerts = False    '確認メッセージを表示しない 
    ActiveWorkbook.Close          '閉じる 
  End If 
End Sub 
 | 
     
    
   |