Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: sdwffw

[已解决]新年度自动备份数据出错问题

[复制链接]
发表于 2014-5-15 11:32 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub Workbook_Open()
  2.     Sheet1.Activate
  3.     If Year(Date) > Sheet4.[b2] Then
  4.         MsgBox "新年度在d盘许可档案备份目录下自动备份上年度档案表,清空后重新开始工作!", , "提示"
  5.         aa = InputBox("请输入继续工作密码!", "密码录入")
  6.         ' DoEvents
  7.         If aa = VBA.Format(VBA.Date, "YYYYMMDD") Then
  8.             MsgBox "密码正确!欢迎在新年度使用系统!"
  9.             Application.DisplayAlerts = False
  10.             Application.EnableEvents = False
  11.             Application.ScreenUpdating = False

  12.             Dim TheBackUpDir As String
  13.             Dim strFile$
  14.             TheBackUpDir = "D:\许可档案备份"
  15.             If Len(Dir(TheBackUpDir, vbDirectory)) = 0 Then
  16.                 MkDir TheBackUpDir
  17.             End If
  18.             strFile = TheBackUpDir & "" & Year(Date) - 1 & "工业产品档案备份.xls"
  19.             ThisWorkbook.SaveCopyAs strFile
  20.             With GetObject(strFile)
  21.                 MsgBox .Name
  22.                 .Windows(1).Visible = True
  23.                 For Each ms In .Sheets(1).Shapes
  24.                     If ms.Type = 6 Or ms.Type = 8 Then ms.Delete
  25.                 Next ms
  26.                 For Each vbc In .VBProject.VBComponents
  27.                     Select Case vbc.Type
  28.                         Case 100
  29.                             vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines
  30.                         Case Else
  31.                             .VBProject.VBComponents.Remove vbc
  32.                     End Select
  33.                 Next vbc
  34.                 .Close True
  35.             End With
  36.             Sheet1.Range("A3:T" & Sheet1.Range("A65536").End(3).Row).ClearContents
  37.             Sheet4.[b2] = Year(Date)
  38.             Sheet1.Select
  39.         Else
  40.             MsgBox "密码错误,程序退出!"
  41.             Application.Quit
  42.             ' ActiveWorkbook.Close False
  43.         End If

  44.     End If
  45.     Application.DisplayAlerts = True
  46.     Application.EnableEvents = True
  47.     Application.ScreenUpdating = True
  48. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2014-5-15 11:43 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 07:41 , Processed in 0.522559 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表