Excel VBA質問箱 IV

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

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


72151 / 76732 ←次へ | 前へ→

【9066】Re:ThisWorkbook.Saveで不可解なことが・・・
回答  Jaka  - 03/11/17(月) 9:20 -

引用なし
パスワード
   こんちは。
もうすんじゃったと思いますが。
ThisWorkbook.Saved が有るのを今まで思い出せませんでした。
これがあるのをすぐ思い出していれば、保存できないようにするで挫折することは無かったのに...。

バグ?確認用(要するにこれじゃダメって事です。)

Sheet1モジュール

Private Sub CommandButton1_Click()
  Dim i As Integer
  i = MsgBox("yesでファイル、noでエクセルを閉じます", vbYesNo)
  If i = vbYes Then
    ThisWorkbook.Close
  Else
    Application.Quit
  End If
End Sub

ThisWorkBookモジュール

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Range("A1").Value = "何かの処理"
  DoEvents
  ThisWorkbook.Save
  DoEvents
  ThisWorkbook.Saved = True
End Sub

(注意)
ThisWorkbook.Closeでブックを閉じると保存してくれない。
一応ここは通っているのだけれど....。(バグくさいです。)
因みに、閉じるボタンでは保存されます。
Win98se & Exc2000SR1

****************************************
んなわけで、フラグ使ってこんな風に面倒くさい書き方をしないとダメみたいでした.
やっぱダメでしょうか?

標準モジュール

Public flg As Boolean

Sub hozon()
  Range("A1").Value = "何かの処理"
  ThisWorkbook.Save
End Sub


Sheet1モジュール

Private Sub CommandButton1_Click()
  Dim i As Integer
  i = MsgBox("yesでファイル、noでエクセルを閉じます", vbYesNo)
  If i = vbYes Then
    hozon
    flg = True
    ThisWorkbook.Close
  Else
    Application.Quit
  End If
End Sub


ThisWorkBookモジュール

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If flg = False Then
    hozon
  End If
  ThisWorkbook.Saved = True
End Sub

********************
保存できないようにするは、
Workbook_BeforeClose で、ThisWorkbook.Saved = True
Workbook_BeforeSave で、Cancel = True
と、するだけで十分でした。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  ThisWorkbook.Saved = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  '全く保存できないとテスト時に不都合なんで
  'こんな風にしてあります。
  If Range("A1").Value = "" Then
    Cancel = True
  End If
End Sub

6 hits

【8874】ThisWorkbook.Saveで不可解なことが・・・ つん 03/11/6(木) 22:53 質問
【8884】Re:ThisWorkbook.Saveで不可解なことが・・・ Jaka 03/11/7(金) 11:05 発言
【8885】Re:ThisWorkbook.Saveで不可解なことが・・・ つん 03/11/7(金) 12:25 発言
【8888】Re:ThisWorkbook.Saveで不可解なことが・・・ Jaka 03/11/7(金) 13:53 回答
【8889】↑ただの発言です。 Jaka 03/11/7(金) 13:55 発言
【8891】Re:ThisWorkbook.Saveで不可解なことが・・・ つん 03/11/7(金) 15:47 発言
【8892】Re:ThisWorkbook.Saveで不可解なことが・・・ Jaka 03/11/7(金) 17:18 発言
【8918】Re:ThisWorkbook.Saveで不可解なことが・・・ つん 03/11/8(土) 15:04 お礼
【9066】Re:ThisWorkbook.Saveで不可解なことが・・・ Jaka 03/11/17(月) 9:20 回答
【9071】Re:ThisWorkbook.Saveで不可解なことが・... つん 03/11/17(月) 16:14 お礼
【9100】試しました♪ つん 03/11/18(火) 16:14 お礼
【9124】上の上へのお返事です。 Jaka 03/11/19(水) 9:16 発言
【9126】Re:上の上へのお返事です。 つん 03/11/19(水) 9:28 発言
【9133】Re:上の上へのお返事です。 Jaka 03/11/19(水) 10:35 回答
【9134】度々ありがとう! つん 03/11/19(水) 11:43 お礼
【9127】追伸 Jaka 03/11/19(水) 9:28 発言
【9129】ごめん・・・ つん 03/11/19(水) 9:41 発言
【9175】Re:ごめん・・・ Jaka 03/11/20(木) 12:09 発言
【9176】Re:ごめん・・・ つん 03/11/20(木) 13:04 お礼

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