用程式控制 檔案 或 資料夾(目錄) 進行壓縮

用程式控制 檔案 或 資料夾(目錄) 進行壓縮

如何用程式控制 資料夾(目錄) 或 檔案 進行壓縮

' 傳完整路徑到底下Function的引數裡

' 例如要壓縮 C:\ABC 的資料夾

If CompressFolder("C:\ABC") Then

MsgBox "資料夾或檔案壓縮完成!"

Else

MsgBox "資料夾或檔案壓縮失敗!"

End If

Private Function CompressFolder(strFolder As String) As Boolean

Dim strQry As String, colFolders, objFolder

If Len(Dir(strFolder, 16)) > 0 Then ' 檢查檔案或資料夾是否存在

strFolder = Replace(strFolder, "\", "\\")

' 使用 WMI 物件 的 Win32_Directory 類別進行查詢

strQry = "Select * from Win32_Directory where name = '" & strFolder & "'"

Set colFolders = GetObject("winmgmts:").ExecQuery(strQry)

For Each objFolder In colFolders

CompressFolder = (objFolder.Compress = 0) ' 進行資料夾或檔案壓縮

Next

End If

End Function