2013-09-24 32 views
0

由於運行宏我已經包含各種文件類型一個文件夾的結果:.ERR,txt文件,.SH,.fat ..使用7-zip命令行從VBA

例如如果我想該宏僅壓縮.fat文件這工作得很好:

ShellStr = PathZipProgram & "7z.exe a " & " " & Chr(34) & NameZipFile & Chr(34) & " " & Chr(34) & FolderName & Chr(34) & "*.fat" 

在那裏(我想保持這種整齊地):

  1. PathZipProgram - > 7zip的目錄
  2. NameZipFile - > Output.zip文件
  3. FolderName-> Input.zip文件

相反,如果我想只是一些壓縮這些文件(例如,只有* .fat和* .SH)讀取7-zip命令行手動看來:

ShellStr = PathZipProgram & "7z.exe a " & " " & Chr(34) & NameZipFile & Chr(34) & " " & Chr(34) & FolderName & Chr(34) & "*.fat -i*.sh" 

也應該工作,但事實並非如此。有更多經驗的人能幫我整理一下嗎?

+0

請將LS_Dev的答案標記爲接受的答案。這足以證明這個問題已經「解決」了。 –

回答

1

正如你可能會發現在7-Zip的命令行語法:

7z <command> [<switch>...] <base_archive_name> [<arguments>...] 

<arguments> ::= <switch> | <wildcard> | <filename> | <list_file> 

所以你只需要重複你的源內容:

ShellStr = PathZipProgram & "7z.exe a """ & NameZipFile & """ """ & FolderName & "\*.fat"" """ & FolderName & "\*.sh""" 

提示:您可以逃脫字符串,然後翻倍行情。

+0

謝謝!你把我放在正確的道路上! – user2811214

+1

不要感謝,只是接受答案。 –