|
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
|
|