VBA也玩玩在线升级

Private Function fcnGetFileList(ByVal strPath As String, Optional strFilter As String) As Variant
' 如果文件夹中包含文件返回一个二维数组,否则返回False
Dim f As String
Dim i As Integer
Dim FileList() As String
If strFilter = "" Then strFilter = "*.*"
Select Case Right(strPath, 1)如何自制纳米胶
Case "\", "/"
strPath = Left(strPath, Len(strPath) - 1)
End Select
ReDim Preserve FileList(0)
f = Dir(strPath & "\" & strFilter)
Do While Len(f) > 0
方波信号发生器
ReDim Preserve FileList(i) As String
FileList(i) = f
光纤收发器机架>voip网关i = i + 1
f = Dir()
Loop
If FileList(0) <> Empty Then
fcnGetFileList = FileList
Else
fcnGetFileList = False
End If
End Function
Public Sub SystemUpData_Macro() '系统升级
qq = MsgBox("您确定要进行系统升级吗?", vbOKCancel, "升级")
If qq <> 1 Then Exit Sub
Application.ScreenUpdating = False
upDatePath = "\\192.168.0.7\王超\备份\"
On Error Resume Next
Dim pw
'因为要用代码操作窗体需要先解开VBA工程密码(无密码就不用了),先解开:
pw = "1234" 'VBA工程密码
If ThisWorkbook.VBProject.Protection = vbext_pp_locked Then
Application.VBE.CommandBars(1).Controls("工具(T)").Controls("VBAProject 属性(&E)...").Execute
Application.SendKeys pw & "{ENTER}{ENTER}"
DoEvents
End If
固定管板式换热器'还要求工具(T)-宏(M)-安全性(M)-可靠发行商(T)-勾选了“信任对于VB项目的访问(V),就别手工了,自动来:
粉条生产线
Dim Chgset As Boolean
'陷阱测试,VBProject.Protection在这儿并无实际的意义
Debug.Print ThisWorkbook.VBProject.Protection
If Err.Number = 1004 Then
Err.Clear
Application.SendKeys "%TMS%T%V{ENTER}"
Chgset = True
DoEvents
End If
'执行升级操作:
Dim vbCmp As VBComponent
Dim fname As String
formList = fcnGetFileList(upDatePath, "*.frm")
For i = 0 To UBound(formList)
Application.VBE.ActiveVBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents(Left(formList(i), Len(formList(i)) - 4))
Application.VBE.ActiveVBProject.VBComponents.Import upDatePath & formList(i)
Next i
basList = fcnGetFileList(upDatePath, "*.bas")
For i = 0 To UBound(basList)
Application.VBE.ActiveVBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents(Left(basList(i), Len(basList(i)) - 4))
Application.VBE.ActiveVBProject.VBComponents.Import upDatePath & basList(i)
Next i
clsList = fcnGetFileList(upDatePath, "*.cls")
For i = 0 To UBound(clsList)
Application.VBE.ActiveVBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents(Left(clsList(i), Len(clsList(i)) - 4))
Application.VBE.ActiveVBProject.VBComponents.Import upDatePath & clsList(i)
Next i
MsgBox "升级完成"
'操作完成后还原操作前的状态
Application.ScreenUpdating = True
If Chgse
t Then Application.SendKeys "%TMS%T%V{ENTER}"
End Sub

本文发布于:2024-09-22 20:24:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/291933.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:操作   密码   要求   项目
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议