Add-Ins cho Excel - Nén tệp với ZipFiles

Liên hệ QC

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,421
Được thích
4,033
Giới tính
Nam
Rảnh đóng cửa né Covid - 19 Nghiên cứu cái mình thích và sử dụng Thôi :p
......................................................................................................................................................
Excel làm được nhiều hơn những gì Bạn nghĩ về nó ?!
Add-Ins cho Excel ... Nén tệp với Excel
......................................................................................................................................................
Video Demo nén tệp với ZipFiles Viết COM DLL Add-Ins cho Excel
Sẻ Viết 3 Button cơ bản sau

1/ Chọn 1 Files hoặc nhiều File nén nó lại ( chưa viết )
2/ giải nén file ( chưa viết )
3/ là cái tùy chọn nén hoăc thêm bớt Files vào ZIP như video Úp dưới
......................................................................................................................................................
4/ Khi nào Viết xong Úp cho Free .................. Với Mạnh chỉ có Thể là Free
......................................................................................................................................................
Viết chung với ExcelTools như hình Ảnh sau

1626931545472.png

Video Demo
Liên kết: https://youtu.be/Su3x9bKygfY
 
Lần chỉnh sửa cuối:
Trước khi đi vào cái lô gic tại sao tôi lại đi dùng một phần mềm miễn phí (ZipFiles) nhét bên trong một phần mềm trả phí (Excel), chúng ta cần được biết cái lợi/hại của addins này:

1. ZipFiles dùng kỹ thuật gì để nén? Có phù hợp với các phần mềm giải nén thông dụng (WinRar, WinZip, 7Zip,...). Nói cách khác, một tệp ZipFiles có bảo đảm mở được bằng WinZip?
2. Thống kê trung bình độ nén của vài loại files? Thống kê tốc độ?

Sau đó, tới câu hỏi ban đầu. Dùng nó bên trong Excel thì tôi được lợi gì?
 
Rảnh đóng cửa né Covid - 19 Nghiên cứu cái mình thích và sử dụng Thôi :p
......................................................................................................................................................
Excel làm được nhiều hơn những gì Bạn nghĩ về nó ?!
Add-Ins cho Excel ... Nén tệp với Excel
......................................................................................................................................................
Video Demo nén tệp với ZipFiles Viết COM DLL Add-Ins cho Excel
Sẻ Viết 3 Button cơ bản sau

1/ Chọn 1 Files hoặc nhiều File nén nó lại ( chưa viết )
2/ giải nén file ( chưa viết )
3/ là cái tùy chọn nén hoăc thêm bớt Files vào ZIP như video Úp dưới
......................................................................................................................................................
4/ Khi nào Viết xong Úp cho Free .................. Với Mạnh chỉ có Thể là Free
......................................................................................................................................................
Viết chung với ExcelTools như hình Ảnh sau

View attachment 262819

Video Demo
Liên kết: https://youtu.be/Su3x9bKygfY
Cũng có sự liên quan nhẹ tới nén file, anh Kiều Mạnh có thể cho em xin code xóa styles rác trong file xlsb được không? Em từng thấy trên diễn đàn trong bài của anh rồi nhưng đó là file exe (có file excel nhưng lại không dùng được cho xlsb)
 
Trước khi đi vào cái lô gic tại sao tôi lại đi dùng một phần mềm miễn phí (ZipFiles) nhét bên trong một phần mềm trả phí (Excel), chúng ta cần được biết cái lợi/hại của addins này:

1. ZipFiles dùng kỹ thuật gì để nén? Có phù hợp với các phần mềm giải nén thông dụng (WinRar, WinZip, 7Zip,...). Nói cách khác, một tệp ZipFiles có bảo đảm mở được bằng WinZip?
2. Thống kê trung bình độ nén của vài loại files? Thống kê tốc độ?

Sau đó, tới câu hỏi ban đầu. Dùng nó bên trong Excel thì tôi được lợi gì?
1/ cái thứ nhất tôi thử nén File xong tôi dùng WinRaR giải nén nó ra ok
2/ Cái thứ 2 tôi thử nén File = WinRaR với phần mở rộng file là *.Zip xong tôi cũng giải nén nó ra OK
3/ code Delphi có hết mọi cái + mọi cái Google có hết chỉ là copy chỉnh sửa tùy biến lại theo ý thích thôi
4/ còn kỹ thuật gì thì tôi ko có biết chỉ biết mô tả của Delphi Linh sau

Ai iu thích vào link trên đọc he ... kỹ thuật hay công nghệ gì thì nó nói ... còn tui ko có biết
dân tự học + Copy chế biến nên nói sẻ ko chính xác

Vui lòng đọc tài liệu từ Delphi link trên
Bài đã được tự động gộp:

Cũng có sự liên quan nhẹ tới nén file, anh Kiều Mạnh có thể cho em xin code xóa styles rác trong file xlsb được không? Em từng thấy trên diễn đàn trong bài của anh rồi nhưng đó là file exe (có file excel nhưng lại không dùng được cho xlsb)
Tìm lại bài mạnh úp ... code có hết VBA đấy ... chỉ Copy và sử dụng
Bài đã được tự động gộp:

Sau đó, tới câu hỏi ban đầu. Dùng nó bên trong Excel thì tôi được lợi gì?
Mạnh thích thì viết chơi thôi ... còn được gì mất gì ko quan tâm
Tính năng nó là thế ... ai thích thì xài ... ko thích thì cho vào thùng RÁC

Rất đơn giản vậy thôi
 
Lần chỉnh sửa cuối:
Excel là phần mềm có tính chất vừa trả phí vừa không trả phí. Nó không đồng thời vừa trả phí và không trả phí nhưng liên quan đến việc trả phí và đồng thời cũng không liên quan đến việc trả phí.
 
Không biết anh đang nói bài nào, em tìm được bài này thì một file không hỗ trợ xlsb, file ver2 là file exe không có code. Mong anh hỗ trợ
https://www.giaiphapexcel.com/diendan/threads/xóa-styles-rác-trong-excel.118809/
Nó đấy ... tùy chỉnh đi ... mà thớt này ko bàn cái đó
Vui lòng Lập thớt mới hoặc vào link bài đó hỏi tiếp ... nếu trong khả năng của mạnh thì mạnh sẻ trợ giúp

Thân
 
Lần chỉnh sửa cuối:
Chia sẻ luôn thư Viện API ZipFiles cho ai iu thích nó hoặc tò mò thử chút xong ====> gửi vào thùng RÁC

Code khai báo API Sử dụng từ VBA như Sau áp dụng cho giải nén Files

Mã:
Declare PtrSafe Function UnZip Lib "ZipFilesLibrary.dll" (ByVal ZipFile As Variant, ByVal ExtractFolder As Variant) As Boolean

Sub Main_UnZip_GPE()
    Dim ZipFile As Variant
    Dim ExtractFolder As Variant
   
    ZipFile = "D:\Zip\Zip.zip"
    ExtractFolder = "D:\GiaiNen\"
   
    Call UnZip(ZipFile, ExtractFolder)
End Sub

Code khai báo API Sử dụng từ VBA như Sau áp dụng cho Form nén files theo danh sách Files

Mã:
Declare PtrSafe Function ShowFormZipTools Lib "ZipFilesLibrary.dll" ()
Rem ==========
Sub Main_ShowForm()
    ShowFormZipTools
End Sub

Lưu ý Test:

1/ Bạn hãy mở Form lên xong nén File lại theo list xong ... sau khi nén xong thì thử dùng WinRaR trên máy của bạn giải nén nó ra xem sao

2/ Bạn thử dùng WinRaR trên máy của bạn nén Files lại với phần mở rộng là *.Zip ... xong thử dùng code mẫu khai báo ở trên giải nén ra xem sao

3/ Quá trình bạn mở Vào VBE sẻ làm lỗi đơ files Excel vì do VCL styles tạo ra mình chưa Fix được

xử lý lỗi trên tạm là thoát Excel xong vào chỉnh sửa lại đường dẫn Files cần giải nén xong chạy code là xong

4/ code đang trong quá trình viết thêm và hoàn thiện nên có lỗi là đương nhiên ko bàn cải

Nếu bạn nào Viết trên Delphi mà muốn sử dụng lại thư viện thì khai báo sử dụng lại hàm sau

Mã:
procedure ShowFormZipTools(); stdcall; external 'ZipFilesLibrary.dll';
 

File đính kèm

  • ZipFilesLibrary.rar
    2 MB · Đọc: 18
Lần chỉnh sửa cuối:
Excel là phần mềm có tính chất vừa trả phí vừa không trả phí. Nó không đồng thời vừa trả phí và không trả phí nhưng liên quan đến việc trả phí và đồng thời cũng không liên quan đến việc trả phí.
Cái việc liên quan này nọ không phải là yếu tố cụ thể. (tôi cũng chả hiểu sao bà con hay chỉ trích tôi chuyên lý thuyết, không trọng thực hành trong khi tôi rất quan tâm đến đặc tính cụ thể và tương/tuyệt đối)

Yếu tố cụ thể là tôi có một ứng dụng được viết để dùng qua Excel. Có thể ứng dụng của tôi chỉ dùng cái UI của Excel chứ chả gì sâu hơn, nhưng phải có Excel thì nó mới chạy được. Như vậy người sử dụng ứng dụng của tôi có phải trả phí mua Excel hay không?
 
1/ File DLL API bài số 8 Tôi úp bạn nào thích có thể khai báo API sử dụng từ nhiều Tools khác nhau
2/ Khi nào rảnh hoàn thiện mọi cái tôi Builder thêm cho 1 Files *.EXE thì chỉ copy và chạy thôi
3/ Tôi thích tách ra các chuyên đề DLL API khác nhau cho nhẹ file + dễ quản lý và bảo trì code + tinh chỉnh viết thêm
4/ Khi cần thì chỉ khai báo Call nó là xong
......
.....
Không liên quan gì tới Excel cả mà chỉ mượn cái Ribbon Excel nhét cái button vào đó làm Add-Ins call nó cho tiện mà thui
 
Nói cách khác, một tệp ZipFiles có bảo đảm mở được bằng WinZip?
Anh ấy chỉ là làm theo ý thích vậy thôi. Chỉ đơn giản là làm theo thư viện đã có, đơn giản là đóng gói các tập tin khác nhau vào một tập tin *.zip.
Ai thích thì theo dùng, không thích thì vừa vọc vừa chơi.
 
Anh ấy chỉ là làm theo ý thích vậy thôi. Chỉ đơn giản là làm theo thư viện đã có, đơn giản là đóng gói các tập tin khác nhau vào một tập tin *.zip.
Ai thích thì theo dùng, không thích thì vừa vọc vừa chơi.
1/ xong dùng WinRaR giải nén ra ok đấy
2/ Hoặc nén = WinRaR phần mở rộng là *.ZIP xong cũng giải nén ra ok
3/ Kích chuột vào nó Open với Windows Explorer được đấy
 
Lần chỉnh sửa cuối:
xong dùng WinRaR gải nén ra ok đấy
Hoặc nén = WinRaR phần mở rộng là *ZIP xong cũng giải nén ra ok
Không phải mấy phần mềm đó anh.
Mà là WinZip có sẵn của hệ điều hành Windows (không phải phần mềm WinZip). Tức là như lúc mới cài xong Windows, chưa cài bất kỳ phần mềm gì, anh click đúp vào 1 file.zip và nó được mở ra bởi Explorer ấy.

Nói về vụ nén file này thì thấy trên mạng nói 7z có thuật toán nén 'ngon' hơn WinRar, chưa kể 7z miễn phí. :)
 
Không phải mấy phần mềm đó anh.
Mà là WinZip có sẵn của hệ điều hành Windows (không phải phần mềm WinZip). Tức là như lúc mới cài xong Windows, chưa cài bất kỳ phần mềm gì, anh click đúp vào 1 file.zip và nó được mở ra bởi Explorer ấy.

Nói về vụ nén file này thì thấy trên mạng nói 7z có thuật toán nén 'ngon' hơn WinRar, chưa kể 7z miễn phí. :)
Nó sử dụng thư viện WinZip có sẵn của hệ điều hành Windows
 
Anh ấy chỉ là làm theo ý thích vậy thôi. Chỉ đơn giản là làm theo thư viện đã có, đơn giản là đóng gói các tập tin khác nhau vào một tập tin *.zip.
Ai thích thì theo dùng, không thích thì vừa vọc vừa chơi.
Nói vậy mà cũng theo công nghệ 4.0 được sao?
Thiếu gì ba cái mớ "ai thích thì theo dùng" trên mạng. Tải về thử thì biết đá vàng.

Chúng ta ở đây đều là dân tự cho mình biết công nghệ thông tin không ít thì nhiều. Đem tải một cái file bas (VBA export thành ra bas) về ít nhất cũng đọc được. Tải đại một cái file exe hay dll về xài trước khi biết nó ra sao là tự hạ thấp trí tuệ của mình.

Những câu hỏi tôi đặt ra ở bài #2 là căn bản. Nếu tác giả lấy làm tự ái là do chưa biết gì về chuyện đánh giá phần mềm. Đem con gà ra trường khoe thì phải cho người ta nghía vảy, thử đòn nó chứ.

(*1) trường gà: nơi đá gà. Các chủ gà cũng hay đem gà ra trước để cáp nhau, hoặc để dụ độ.
(*2) vảy: tương truyền dân thầy gà có khả năng đoán tài gà bằng cách nhìn vảy chân gà. Tôi nhớ hình như hạng vảy "dương" là gà hạng nhất.
(*3) thử đòn: cũng tương truyền dân thầy gà có khi bắt gà đi một vòng, và cho xem thử thái độ của nó đối với một con gà trống tàu để đoán nước đánh của nó. Đối với loại đá chắp cựa, có khi chủ gà bán độ bằng cách dùng loại cựa không hợp (gà chuyên nước cựa cong mà đi chắp cựa thẳng...). Dân giỏi nhìn tướng đi và cách chắp cựa thì biết và không nhận độ.
 
Cái chủ đề này tôi lập ra như cái tiêu đề của nó

1/ đề nghị ai đó lạc đề thì mở thớt khác mà làm bà tám ... trích dẫn link thớt này

2/ Hãy biết trân trọng và lịch sự 1 chút

Vui lòng lập thớt mới mà bàn he
Còn tui viết như vậy ... ai iu thì xài ... ko iu thì cho vào thùng RÁC

Xin cảm ơn
 
Nghiên cứu món zip này cũng rất hay, gần nhất là ứng dụng vào chế biến ribbon cho office bằng vba.
 
Nghiên cứu món zip này cũng rất hay, gần nhất là ứng dụng vào chế biến ribbon cho office bằng vba.
Mục đích của nó là hướng tới 1 số vấn đề có liên quan tới Zip mà trên GPE nay hay bàn đấy (Nhưng sẻ bàn nó theo chuyên đề riêng biệt ... ko bàn ở đây )

bên cạnh đó có thể sử dụng nén và giải nén file ok ... nó tương thích hoàn toàn với các trình nén và giải nén khác

thử nén với nó 1 files 19.4MB còn WinRaR là 19MB ... WinRaR nén tốt hơn nhưng ko đáng kể

cái quan trọng nhất là tự tay viết lấy 1 DLL mà tùy biến sử dụng nó trong trường Hợp cần thiết

Bản Demo Úp cho Bạn nào tò mò dùng thử

1/ nén Thư mục

1628558842649.png


2/ Giải nén tệp

1628558970422.png


3/ Nén theo List Files xong mở nó với trình WinRaR

1628559478431.png


Files Demo đính kèm là cho Office_x64
 

File đính kèm

  • ExcelTools_x64.rar
    5.4 MB · Đọc: 17
Lần chỉnh sửa cuối:
Rảnh tôi đang viết lại các DLL Api theo các chuyên đề khác nhau ... Mới fix lại chút xuất API 32 bit và 64 bit
Úp lên GitHub ai quan tâm có thể sử dụng và định đoạt nó tùy thích

1/ kèm theo là 1 File Excel + hướng dẫn sử dụng Hàm API
2/ nếu bạn nào thích nó có thể Save As file Excel đó thành Add-Ins mà sử dụng
3/ Hình ảnh như sau ... nếu ko thích có thể chỉnh lại XML Ribbon Menu Excel theo ý mình thích

1654573860295.png

4/ không cá nhân hóa or bản quyền DLL .... mọi cái do ai đó thích gì thì có toàn quyền định đoạt nó ... kể các hack nó úp hết code lên đây cho các Bạn khác chỉ Copy và sử dụng nó cũng ok hết

 
Ai không xài Dll muốn tự code VBA thì vô trang này có đủ cả: Zip, Rar, 7z. Copy về và tùy biến thêm các tính năng như: Vừa nén và Email, sao lưu file dạng nén v.v..

Link: https://www.rondebruin.nl/win/section7.htm

Screen Shot 2022-06-08 at 08.36.44.png
 
Web KT
Back
Top Bottom