Private Sub 文件转文本_Click() '文件转文本
文件转文本.Enabled = False
Dim 总字节 As Long
Dim 二进制数组() As Byte
Dim 当前数组位置 As Long
'------------------------------------------------------------------获取文件大小
Const sFile As String = "C:\A.jpg"
总字节 = Val(FileLen(sFile))
'------------------------------------------------------------------获取文件大小
'------------------------------------------------------------------以二进制打开文件
Open "C:\A.jpg" For Binary As #1
ReDim 二进制数组(1 To 总字节)
Get #1, , 二进制数组
Close #1
'------------------------------------------------------------------以二进制打开文件
'------------------------------------------------------------------保存文本
For 当前数组位置 = 1 To 总字节
Me.Caption = "已完成:" & Int(当前数组位置 / 总字节 * 100) & "%" '显示处理进程
Open "C:\A.txt" For Append As #1
Print #1, CStr(二进制数组(当前数组位置))
Close #1
DoEvents '防止卡死
Next 当前数组位置
MsgBox "文本生成完毕!", vbOKOnly, "提示"
Me.Caption = "文件转文本"
文件转文本.Enabled = True
'------------------------------------------------------------------保存文本
End Sub
Private Sub 文本转文件_Click() '文本转文件
文本转文件.Enabled = False
Dim 二进制数组() As Byte
Dim 文本变量 As String
'------------------------------------------------------------------打开文本文档
Open "C:\A.txt" For Binary As #1
文本变量 = Input(LOF(1), 1)
Close #1
Dim a
Dim i As Long
a = Split(文本变量, vbCrLf)
ReDim 二进制数组(LBound(a) To UBound(a))
i = 0
1:
If a(i) <> "" Then 二进制数组(i) = a(i)
i = i + 1
DoEvents '防止卡死
Me.Caption = "已完成:" & Int(i / UBound(a) * 100) & "%" '显示处理进程
If i <> UBound(a) + 1 Then GoTo 1:
'------------------------------------------------------------------打开文本文档
'------------------------------------------------------------------保存文件
Open "C:\B.jpg" For Binary As #3
Put #3, , 二进制数组
Close #3
MsgBox "文件生成完毕!", vbOKOnly, "提示"
Me.Caption = "文件转文本"
文本转文件.Enabled = True
Kill "C:\A.txt"
'------------------------------------------------------------------保存文件
End Sub