|
软件更新.txt 的内容如下:
[--包材汇总--]
'*******************************更新说明*****************************
'2023年1月16日更新说明:修正包材汇总表添加纸箱不能输入纸箱信息的错误。
' 修正50mm泡沫板不能显示计算数据的错误。
' 修正添加纸箱只认第一个纸箱的错误。
代码1.......
[--包材用量--]
'*******************************更新说明*****************************
代码2........
VBA程序如下:
Function VBA程序更新() '应用程序自动更新
'On Error Resume Next
Dim i As Integer, S As Integer
Dim arr() As String
Dim 新版 As Date, 旧版 As Date
Dim 文件名 As String
文件名 = "\\Desktop-b14jbi3\软件更新.txt"
If Dir(文件名) = "" Then Exit Function '检查文件是否存在
新版 = FileDateTime(文件名) '检查文件版本日期
旧版 = CDate("2023-1-5 1:21")
If Abs(DateDiff("n", 新版, 旧版)) > 60 Then
CommandBars("更新菜单").Controls("更新应用程序代码").Enabled = True
Dim objStream, strData
Set objStream = CreateObject("ADODB.Stream")
objStream.Charset = "utf-8"
objStream.Open
objStream.LoadFromFile (文件名)
strData = objStream.ReadText()
arr = Split(strData, Chr(91) & "--")
ReDim 代码(1 To UBound(arr), 1 To 2) As String
For i = 1 To UBound(arr)
Dim strArray() As String
strArray = Split(arr(i), "--" & Chr(93))
代码(i, 1) = strArray(0)
代码(i, 2) = strArray(1)
Next
objStream.Close
Set objStream = Nothing
For S = 1 To UBound(代码)
Dim 代码名称 As String, 程序代码 As String
代码名称 = 代码(S, 1)
程序代码 = 代码(S, 2)
If 程序代码 <> "" Then
With ThisWorkbook.VBProject.VBComponents(代码名称).CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString 程序代码
End With
End If
Next S
End If
End Function
|
|