gpt4 book ai didi

excel - 如何在vba中打开存档中的文件而不解压存档

转载 作者:行者123 更新时间:2023-12-02 04:17:50 26 4
gpt4 key购买 nike

我有一系列文件:C:/archive1.zip、C:/archive2.zip 等。

我只想从每个存档中提取一个文件。每个存档都有相同的结构,文件可以在以下位置找到:

C:/archive1.zip/folderlevel1/folderlevel2/folderlevel3/Myfile.csvC:/archive2.zip/folderlevel1/folderlevel2/folderlevel3/Myfile.csv

等等

如何在vba中读取所有文件Myfile.csv?

谢谢!

最佳答案

你可以这样做:

'
' UnZip 1 file from a zip file:
'
Function entUnZip1File(ByVal strZipFilename, ByVal strDstDir, _
ByVal strFilename)
'
Const glngcCopyHereDisplayProgressBox = 256
'
Dim intOptions, objShell, objSource, objTarget
'
' Create the required Shell objects
Set objShell = CreateObject("Shell.Application")
'
' Create a reference to the files and folders in the ZIP file
Set objSource = _
objShell.NameSpace(strZipFilename).Items.item(CStr(strFilename))
'
' Create a reference to the target folder
Set objTarget = objShell.NameSpace(strDstDir)
'
intOptions = glngcCopyHereDisplayProgressBox
'
' UnZIP the files
objTarget.CopyHere objSource, intOptions
'
' Release the objects
Set objSource = Nothing
Set objTarget = Nothing
Set objShell = Nothing
'
entUnZip1File = 1
'
End Function

在宏中的任何位置,调用函数将文件提取到 C:\temp 目录或任何目标文件夹而不是 C:\temp:

entUnZip1File "C:\archive1.zip", "C:\temp", "folderlevel1/folderlevel2/folderlevel3/Myfile.csv"

关于excel - 如何在vba中打开存档中的文件而不解压存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com