Board logo

標題: (感謝大大們協助完成)如何排除~當程式建立於~開啟時寫入~每次關閉都會問是否要儲存 [打印本頁]

作者: av8d    時間: 2012-6-28 21:57     標題: (感謝大大們協助完成)如何排除~當程式建立於~開啟時寫入~每次關閉都會問是否要儲存

本帖最後由 av8d 於 2012-6-29 16:17 編輯

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each Sh In Sheets
    If Sh.Name <> "Index" Then Sh.Visible = False
End Sub

Private Sub Workbook_Open()
    Sheets("Index").Select
    For i = 1 To 4
        ActiveSheet.OLEObjects("CommandButton" & i).Visible = False
    Next
   
    ActiveSheet.OLEObjects("Textbox1").Activate
End Sub

當程式建立於~開啟時寫入~每次關閉都會問是否要儲存~是否可以讓他自動判斷~或是其他方法?
作者: kimbal    時間: 2012-6-28 22:59

  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2.     Dim result
  3.     If ThisWorkbook.Saved = False Then
  4.         result = MsgBox("""" & ThisWorkbook.Name & """ 此檔案已被修改,是否要儲存?", vbYesNoCancel)
  5.     End If
  6.     If result = vbYes Then
  7.         For Each Sh In Sheets
  8.             If Sh.Name <> "Index" Then Sh.Visible = False
  9.         Next
  10.         ThisWorkbook.Save
  11.         Exit Sub
  12.     ElseIf result = vbNo Then
  13.         ThisWorkbook.Saved = True
  14.     ElseIf result = vbCancel Then
  15.         Cancel = True
  16.         Exit Sub
  17.     End If   
  18. End Sub
  19. WORKBOOK_OPEN後 的狀態設成已儲存
  20. Private Sub Workbook_Open()
  21.     Sheets("Index").Select
  22.     For i = 1 To 4
  23.         ActiveSheet.OLEObjects("CommandButton" & i).Visible = False
  24.     Next
  25.    
  26.     ActiveSheet.OLEObjects("Textbox1").Activate
  27.    thisworkbook.saved=true
  28. End Sub
複製代碼
關時自動存
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2.     For Each Sh In Sheets
  3.     If Sh.Name <> "Index" Then Sh.Visible = False
  4.    thisworkbook.save
  5. End Sub
複製代碼

作者: hugh0620    時間: 2012-6-29 09:04

其實會詢問你要不要儲存~ 這是有需要的~

有些時候在修改了某些資料時~ 有可能改錯~
若是不excel詢問的話~ 有可能會導致整個資料無法被救回來~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)