admin menu ≫  image  writes  admin
スポンサーサイト 
--.--.--.-- 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
「ブックを閉じたら・・・」再び問題発生!! 
2009.05.30.Sat 
 もしかして、これがエクセルが異状終了する原因だったかも??・・・取りあえず「TheisWorkbook」に書いてたマクロを書き直し、開始処理を追加し終了処理方法を変更してみたが・・・

Private Sub Workbook_Open()
'マクロを有効にしてブックをオープンした直後に、
'VBスクリプトでタイトルメッセージを出し、
'ブール型のPublic変数Cancelflgに「FalseまたはTrue」を設定してから、
'CancelflgButtonの表示を設定する。
Vbs_Msg """タイトル""", 3, "オープン処理中"
Cancelflg = False 'クローズボタン有効
Cancelflg = True 'クローズボタン無効
If Cancelflg = False Then
Worksheets("構造計算").CancelflgButton.Caption = "×有効"
Else
Worksheets("構造計算").CancelflgButton.Caption = "×無効"
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'CancelにCancelflgの値を代入して処理を開始する.
'Cancelの値が「False」で開いているブックがこのブックだけなら
'エクセルも終了する.
Dim Wb As Workbook, msg$
Cancel = Cancelflg
If Cancel = False And Workbooks.Count = 1 Then
'このブックだけ開いている場合
'このブックの終了処理を行ってからエクセルを終了する。
End_Work "終了処理を行っています。  "
Application.Quit
Else
'複数のブックを開いている場合の処理
'現在アクティブ表示されているブック名とこのブック名を比較する。
If ActiveWorkbook.Name <> ThisWorkbook.Name Then
'このブックが非アクティブな時にエクセルの終了ボタンが押された場合、
'他のブックの処理だけ行い、このブックの処理は行わない。
Cancel = True
For Each Wb In Workbooks
If Wb.Name <> ThisWorkbook.Name Then
Wb.Close
End If
Next Wb
Vbs_Msg "終了処理のキャンセルを実行しました。  ", 5, _
"終了処理のキャンセル"
Else
'このブックがアクティブ状態の時にブックを閉じるボタンまたは
'エクセルの終了ボタンが押された場合には、このブックだけを
'クローズして他のブックは処理しない。
If Cancel = False Then
End_Work "このブックのみ終了処理を行います。  "
Else
msg = "クローズボタンが無効になっています.  " & vbCrLf & vbCrLf
Vbs_Msg msg, 5, "クローズボタン"
End If
'***************************************************************
'下のマクロで問題が発生しているような気がしたので、End_Work()に
'移動したら異状終了しなくなったような??まさかこれが原因??
'ThisWorkbook.Close SaveChanges:=False
'***************************************************************
End If
End If
End Sub

何となくWorkbook_BeforeClose( )が、2度実行されてるような??変な感じ(^^;

関連記事
スポンサーサイト
* スポンサーサイト「ブックを閉じたら・・・」再び問題発生!!へのコメント *
   

台風画報


ナショジオニュース

降水短時間予報

RSSフィード

月別アーカイブ

ブログ内の検索

プロフィール


  • Designed by Il mio diario
  • Powered by FC2BLOG
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。