展开全部
‘实现文件的合并
Private Sub MergeFile()
Dim strFileName1 As String '第一个文件
Dim strFileName2 As String '第二个文件
Dim strOutput As String '合并后的文件
Dim aryContent() As Byte '用来读取文件的数组,每次读取前要重定义
strFileName1 = "c:\a.bmp"
strFileName2 = "c:\b.bmp"
strOutput = "c:\out.bmp"
'注意下面三个Open语句都是用Binary模式打开的
Open strOutput For Binary As #100
Open strFileName1 For Binary As #1
Open strFileName2 For Binary As #2
Put #100, , LOF(1) '取得第一文件的长度,并把它写入到合并文件的文件头中
Put #100, , LOF(2) '取得第二文件的长度,并写入到合并文件的文件头中
ReDim aryContent(LOF(1) - 1) '重定义数组,为读取文件做准备
Get #1, , aryContent() '取得第一文件的内容到数组
Put #100, , aryContent() '把第一文件的内容写到合并文件中
ReDim aryContent(LOF(2) - 1)
Get #2, , aryContent()
Put #100, , aryContent()
'关闭文件
Close #1
Close #2
Close #100
End Sub
‘实现文件的拆分
Private Sub SplitFile()
Dim strFileName1 As String
Dim strFileName2 As String
Dim strFileSplit As String
Dim aryContent() As Byte
Dim lngLOF(1) As Long '存放从文件头取得的两个文件的长度
strFileName1 = "c:\a2.bmp"
strFileName2 = "c:\b2.bmp"
strFileSplit = "c:\out.bmp"
Open strFileSplit For Binary As #100
Get #100, , lngLOF(0) '取得第一文件的长度
Get #100, , lngLOF(1) '第二文件的长度
Open strFileName1 For Binary As #1
Open strFileName2 For Binary As #2
ReDim aryContent(lngLOF(0)-1) '用第一文件的长度重定义数组,为读取第一文件做准备
Get #100, 9, aryContent() '从第9字节,即文件后面开始读取第一文件的内容
Put #1, , aryContent() '把取得的内容写入到拆分文件中
ReDim aryContent(lngLOF(1)-1)
Get #100, 9 + lngLOF(0) + 1, aryContent() '从第9字节再加上第一文件的长度处开始读取第二文件的内容,这里可以清楚地看到文件头的作用了
Put #2, , aryContent
Close #1
Close #2
Close #100
MsgBox "拆分完成。", vbInformation
End Sub
Private Sub MergeFile()
Dim strFileName1 As String '第一个文件
Dim strFileName2 As String '第二个文件
Dim strOutput As String '合并后的文件
Dim aryContent() As Byte '用来读取文件的数组,每次读取前要重定义
strFileName1 = "c:\a.bmp"
strFileName2 = "c:\b.bmp"
strOutput = "c:\out.bmp"
'注意下面三个Open语句都是用Binary模式打开的
Open strOutput For Binary As #100
Open strFileName1 For Binary As #1
Open strFileName2 For Binary As #2
Put #100, , LOF(1) '取得第一文件的长度,并把它写入到合并文件的文件头中
Put #100, , LOF(2) '取得第二文件的长度,并写入到合并文件的文件头中
ReDim aryContent(LOF(1) - 1) '重定义数组,为读取文件做准备
Get #1, , aryContent() '取得第一文件的内容到数组
Put #100, , aryContent() '把第一文件的内容写到合并文件中
ReDim aryContent(LOF(2) - 1)
Get #2, , aryContent()
Put #100, , aryContent()
'关闭文件
Close #1
Close #2
Close #100
End Sub
‘实现文件的拆分
Private Sub SplitFile()
Dim strFileName1 As String
Dim strFileName2 As String
Dim strFileSplit As String
Dim aryContent() As Byte
Dim lngLOF(1) As Long '存放从文件头取得的两个文件的长度
strFileName1 = "c:\a2.bmp"
strFileName2 = "c:\b2.bmp"
strFileSplit = "c:\out.bmp"
Open strFileSplit For Binary As #100
Get #100, , lngLOF(0) '取得第一文件的长度
Get #100, , lngLOF(1) '第二文件的长度
Open strFileName1 For Binary As #1
Open strFileName2 For Binary As #2
ReDim aryContent(lngLOF(0)-1) '用第一文件的长度重定义数组,为读取第一文件做准备
Get #100, 9, aryContent() '从第9字节,即文件后面开始读取第一文件的内容
Put #1, , aryContent() '把取得的内容写入到拆分文件中
ReDim aryContent(lngLOF(1)-1)
Get #100, 9 + lngLOF(0) + 1, aryContent() '从第9字节再加上第一文件的长度处开始读取第二文件的内容,这里可以清楚地看到文件头的作用了
Put #2, , aryContent
Close #1
Close #2
Close #100
MsgBox "拆分完成。", vbInformation
End Sub
参考资料: http://hi.baidu.com/flyabout/blog/item/20555edaf4f75bd3b6fd48b2.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询