返回列表 上一主題 發帖

請問vba使用系統內建來解壓縮zip??

回復 1# lshsien

試試看,是不是這樣?
  1.     Sub 解壓縮文件()
  2.         Dim Rarexe As String  'WINRAR執行文件的位置
  3.         Dim FileString As String 'Shell指令中的字符串
  4.         Dim Result As Long
  5.         Rarexe = "C:\program files\winrar\winrar"  'WINRAR執行文件的位置
  6.         '[B1]欄位 解壓縮前的原始文件
  7.         '[B2]欄位 解壓縮後的目地文件
  8.         FileString = Rarexe & " x " & "-Y " & [B1] & " " & [B2]  '指定-Y 開關,“是”為默認值,並自動回應全部的詢問。
  9.         Result = Shell(FileString, vbHide)
  10.     End Sub
複製代碼
還有另一個更便利的方法,但我功力不夠深厚,要請高手來幫忙了∼
程式碼如下,需另外貼在上面程式的最上方
這方法是直接點欄位,就會自動帶出路徑
  1. Option Explicit
  2. Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  3.     Dim gb As FileDialog    '宣告一個檔案對話框
  4.     'Dim fd As FileDialog    '宣告一個檔案對話框

  5.     Set gb = Excel.Application.FileDialog(msoFileDialogFilePicker)  '設定選取檔案功能
  6.     'Set fd = Application.FileDialog(msoFileDialogFolderPicker)  '設定選取資料夾功能
  7.    
  8.     With Target(1)
  9.         If .Address = "$B$1" Then If gb.Show Then .Cells = gb.SelectedItems(1) '點選哪個欄位儲存格,檔案路徑秀在那個欄位
  10.         'If .Address = "$B$2" Then If fd.Show Then .Cells = fd.SelectedItems(1) '點選哪個欄位儲存格,檔案路徑秀在那個欄位
  11.     End With

  12. End Sub
複製代碼

解壓縮.rar (8.16 KB)

我很笨,所以我很用心
 我學藝不精,但我渴求知識

TOP

回復 4# lshsien


你用試成功的方法是
 可否分享一下,互相學習
我很笨,所以我很用心
 我學藝不精,但我渴求知識

TOP

回復 3# stillfish00


stillfish00 大大:

 請問以下程式要怎麼改,才能兩個條件都成立,並正常執行程式?
  1. Option Explicit
  2. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  3.     Dim gb As FileDialog    '宣告一個檔案對話框
  4.     'Dim fd As FileDialog    '宣告一個檔案對話框
  5.     Set gb = Excel.Application.FileDialog(msoFileDialogFilePicker)  '設定選取檔案功能
  6.     'Set fd = Application.FileDialog(msoFileDialogFolderPicker)  '設定選取資料夾功能
  7.     With Target(1)
  8.         If .Address = "$B$1" Then If gb.Show Then .Cells = gb.SelectedItems(1) '點選哪個欄位儲存格,檔案路徑秀在那個欄位
  9.         'If .Address = "$B$2" Then If fd.Show Then .Cells = fd.SelectedItems(1) '點選哪個欄位儲存格,檔案路徑秀在那個欄位
  10.     End With
  11. End Sub
複製代碼
我很笨,所以我很用心
 我學藝不精,但我渴求知識

TOP

回復 7# stillfish00


    謝謝 stillfish00 大大的回答,可以正常執行了,萬分感謝∼
我很笨,所以我很用心
 我學藝不精,但我渴求知識

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題