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