【发布时间】:2016-06-15 22:11:13
【问题描述】:
我需要打开几个 .zip 文件,查看特定的 .txt 并将此 .txt 文件中的内容写入 Excel 工作簿,.zip 的名称将在 Excel 中的同一行中。
例子:
第一行是 .zip 文件的名称,第一行第二列是 .txt 文件的内容。
我有部分代码。它显示代码错误 91。
Sub Text()
Dim FSO As Object
Dim oApp As Object
Dim Fname As Variant
Dim FileNameFolder As Variant
Dim DefPath As String
Dim strDate As String
Dim I As Long
Dim num As Long
Fname = Application.GetOpenFilename(filefilter:="Zip Files (*.zip), *.zip", _
MultiSelect:=True)
If IsArray(Fname) = False Then
'Do nothing
Else
'Root folder for the new folder.
'You can also use DefPath = "C:\Users\Ron\test\"
DefPath = Application.DefaultFilePath
If Right(DefPath, 1) <> "\" Then
DefPath = DefPath & "\"
End If
For Each fileNameInZip In oApp.Namespace(Fname).Items
If LCase(fileNameInZip) Like LCase("md5.txt") Then
'Open "md5.txt" For Input As #1
'Do Until EOF(1)
'Line Input #1, textline
' text = text & textline
' Loop
' Close #1
' Range("B1").Value = Mid(text, 1, 32)
' Range("A1").Value = Dir(Fname)
End If
Next
End If
End Sub
我尝试创建一个循环来打开我必须打开的每个 zip 中的每个文件 md5.txt 并获取 md5.txt 中的内容
【问题讨论】:
-
查看此处使用 VBA 处理 zip 文件rondebruin.nl/win/s7/win002.htm
-
@TimWilliams 这不是我们来这里的目的。 请不要为没有付出任何努力的人提供完整的解决方案。请使用仅代码的主要部分(即从 zip 文件中读取 txt 的主要功能)发布问题的答案。
-
我认为我们可以单独决定我们在这里的目的 - 至少我保留这个选项......我发布的链接绝不是一个完整的解决方案,但如果它有助于OP那么我对此没有问题。但是,链接通常与我准备投入的精力一样多.
-
@cybermonkey 请不要暗示我们不应该通过发布链接来帮助某人,因为他们“没有做出任何努力”,然后跟进“你应该转而走自己的路发布完整的答案。”这没有任何意义。
-
大家好,我已经尝试过,我将通过编辑我的问题来发布代码,谢谢