|
今ごろすみません。
>Workbook_BeforeCloseイベント内で、Saveを書いてもダメで、
>サブルーチンにして呼び出せばOKってことか・・・・
いや、正確?にはそうではないです。
こんな風に同じコードを2度書くのもなんだと思って、保存コードを外に出しただけです。
ThisWorkbook.Close で、Workbook_BeforeCloseイベントに入った場合だけ保存が行われないので、
単純にThisWorkbook.Closeの前に保存して置けばよいわけで...。
文書作成能力が無いので、チマチマ書いて余計わかりにくくしてごめんなさい。
おまけに途中で書き直したりしているくせに、文を見直さないんで意味不明なところが多々有りごめんなさい。
ぶ、文才がほしい。
Private Sub CommandButton1_Click()
Dim i As Integer
i = MsgBox("yesでファイル、noでエクセルを閉じます", vbYesNo)
If i = vbYes Then
Range("A1").Value = "何かの処理"
ThisWorkbook.Save
flg = True
ThisWorkbook.Close
Else
Application.Quit
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'ThisWorkbook.Closeで、ここに入ってきた場合Saveされないので、
'2度保存されないようにと、フラグ判定で振分ける必要も無いのかも知れませんけど、
'バグくさいんで安全のためにフラグ判定を入れました。
If flg = False Then
Range("A1").Value = "何かの処理"
ThisWorkbook.Save
End If
ThisWorkbook.Saved = True
End Sub
>この間から、背中から腰にかけてむちゃ痛怠いつんです。
>内臓疾患やったら、どーしよー(T_T)
全然読んでませんでした。
大変だったんですね!
大事にしてください。
>ファイルを閉じるでは、NGで、エクセルそのものを閉じる場合はOKでしたね?
はい。
|
|