giải nén file .tar.gz bằng vba excel

Trạng thái
Không mở trả lời sau này.

tuhocvba

Administrator
Thành viên BQT
Nếu máy tính cài win rar thì dùng shell.
Bạn tham khảo bài này:
 
D

Deleted member 1392

Guest
Hãy dùng Shell, Code bên dưới của tôi sẽ giúp được gì đó cho bạn, nhớ thay đổi các đường dẫn cần thiết trước khi chạy.
Mã:
Sub ExtractAllFiles()

  Dim MyObj As Object, MySource As Object, File, OutFile, PathRAR, FullFile As Variant
  Dim ShellStr As String

  '//INPUT
  File = "C:\Users\admin\OneDrive\Desktop\1.tar.gz" '//DAY LA DUONG DAN FILE CAN GIAI NEN
  OutFile = "C:\Users\admin\OneDrive\Desktop"      '// DAY LA DUONG DAN SAU KHI GIAI NEN
  PathRAR = "C:\Program Files (x86)\WinRAR\WinRar.exe" '//DAY LA DUONG DAN PHAN MEM GIAI NEN

  '//OUTPUT
  FullFile = File
  File = Dir(File)
  While (File <> "")
    If InStr(1, File, ".gz") > 0 Then
      ShellStr = PathRAR & " e " & FullFile & " " & OutFile &"\"
      Call Shell(ShellStr, vbHide)
    End If
    File = Dir
  Wend
End Sub
 
Hãy dùng Shell, Code bên dưới của tôi sẽ giúp được gì đó cho bạn, nhớ thay đổi các đường dẫn cần thiết trước khi chạy.
Mã:
Sub ExtractAllFiles()

  Dim MyObj As Object, MySource As Object, File, OutFile, PathRAR, FullFile As Variant
  Dim ShellStr As String

  '//INPUT
  File = "C:\Users\admin\OneDrive\Desktop\1.tar.gz" '//DAY LA DUONG DAN FILE CAN GIAI NEN
  OutFile = "C:\Users\admin\OneDrive\Desktop"      '// DAY LA DUONG DAN SAU KHI GIAI NEN
  PathRAR = "C:\Program Files (x86)\WinRAR\WinRar.exe" '//DAY LA DUONG DAN PHAN MEM GIAI NEN

  '//OUTPUT
  FullFile = File
  File = Dir(File)
  While (File <> "")
    If InStr(1, File, ".gz") > 0 Then
      ShellStr = PathRAR & " e " & FullFile & " " & OutFile &"\"
      Call Shell(ShellStr, vbHide)
    End If
    File = Dir
  Wend
End Sub
cảm ơn bạn, tôi sẽ thử.
 
Mã:
Sub giai_nen01()

      

        nam = 2020

        th = 11

        ng = 30

      

        tm1 = "E:\CHUONGTRINH\THONG KE DICH VU\DATA\MSSR08 TW\"

      

        OutFile = tm1

      

        PathRAR = "C:\Program Files (x86)\WinRAR\WinRAR.exe"

      

        With CreateObject("Scripting.FileSystemObject")

          

            With .GetFolder(tm1)

              

                For Each FileItem In .Files

                  

                    If Left(FileItem.Name, 8) = nam & th & ng Then

                      

                        File = tm1 & FileItem.Name

                      

                        FullFile = File

                      

                        MsgBox File

                      

                        ShellStr = PathRAR & " e " & FullFile & " " & OutFile

                      

                        Call Shell(ShellStr, vbHide)

                        'Call Shell(ShellStr)

                      

                    End If

                  

                Next

              

            End With

          

        End With

      

End Sub

BẠN XEM GIÚP CODE TRÊN, VÌ MÌNH LÀM CODE KHI CHẠY BÁO LỖI "NO ARCHIVES FOUND"
 

tuhocvba

Administrator
Thành viên BQT
@agribank.mh.khoa : Bạn lưu ý phải sử dụng thẻ Code khi viết code trên forum. Xin xem mục 4 trong .
 
Trạng thái
Không mở trả lời sau này.
Top