qtm1987
Thành viên thường trực




- Tham gia
- 15/9/09
- Bài viết
- 352
- Được thích
- 257
- Nghề nghiệp
- Kế toán tổng hợp
Hôm nay tôi muốn chia sẻ với mọi người cách tôi dùng VBA trong công việc kế toán hàng ngày. Ứng dụng đầu tiên tôi nghĩ rất cần thiết đó là "Tải hóa đơn điện tử hàng loạt các file xlsx, xml từ web thuế".
Nếu là kế toán chắc ai cũng hiểu đến tháng, đến quý phải làm tờ khai thuế GTGT. Không phải công ty nào cũng bỏ phí ra trang bị các app, phần mềm cho kế toán. Vì vậy với tôi Excel trở thành người bạn đồng hành.
Các bài viết về Selenium trên diễn đàn có rất nhiều, bạn nào không biết có thể tìm đọc lại.
Tôi có dùng winrar để gom toàn bộ các file và tạo file cài đặt exe cho thuận tiện nhưng sợ bị nhận diện báo là virus nên không up file exe lên. Thay vào đó tôi sẽ chỉ các bạn tự tạo ra file. Ở đây tôi dùng trình duyệt Chrome nên sẽ đưa các link tải về cài đặt như sau:
1. Tải SeleniumBasic v2.0.9.0 dùng cho VBA tại: https://github.com/florentbr/SeleniumBasic/releases
2. Tải bản Chrome và ChromeDriver phù hợp với máy tính của bạn (win32 hay win64). Máy tính tôi dùng bản win64 nên sẽ tải các file sau:
2.1. Chrome win64: https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.91/win64/chrome-win64.zip
2.2. ChromeDriver win64: https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.91/win64/chromedriver-win64.zip
2.3. Chrome-headless-shell win64: https://storage.googleapis.com/chro...6668.91/win64/chrome-headless-shell-win64.zip
3. Cuối cùng là tải file Excel tôi đính kèm trong bài viết này. File được xây dựng để đáp ứng các công việc kế toán của tôi.
* Việc cài đặt tôi không nói đến vì có nhiều tài liệu hướng dẫn rồi. Ở đây tôi giới thiệu sơ một số chức năng thao tác trên userform trong file tôi xây dựng:
* Nhược điểm:
+ Tốc độ chậm trung bình tải một file xml tốn khoản 4-5 giây. Tôi có test tăng tốc độ lên bằng cách giảm thời gian chờ cho mỗi lệnh request tương tác với web để mỗi file xml tải về khoản còn 2 giây nhưng nhận thấy rất hay có lỗi nếu mạng yếu hoặc web thuế quá tải vào những ngày nộp báo cáo, hoặc có thể khi request lệnh "quá nhanh" sẽ bị khóa ip nên tôi không khuyến khích tăng tốc độ.
+ Khi web thay đổi giao diện thì file sẽ phát sinh lỗi trong quá trình tìm kiếm các phần tử web. Tôi đã cố gắng code tổng quát nhất và cập nhật thường xuyên để ngăn ngừa các trường hợp phát sinh lỗi.
- Ưu điểm:
+ Tải file xml hàng loạt cho từng tháng hoặc tùy chọn tải một lúc gồm nhiều tháng (Trong lúc chờ đợi tải file xong ta có thể tranh thủ thưởng thức một tách cà phê).
+ Toàn bộ file tải về sẽ gom vào một Thư mục riêng cho từng tháng phân loại theo hóa đơn mua vào và bán ra.
+ Tạo file txt "nhật ký tải file" thống kê số lượng file tải về thành công / không thành công.
+ Đọc file xml và ghi dữ liệu vào file excel để tạm tính toán số liệu lên tờ khai thuế GTGT.
File chia sẻ không đặt mật khẩu. Code tôi viết theo kiến thức tôi có nên có thể chưa được tối ưu. Ai quan tâm và có nhu cầu sử dụng, có thể hoàn thiện phát triển thêm. (Thật sự ai không đam mê tốc độ thì thử qua file tốc độ rùa bò này, tốc độ siêu chậm là đây)
Nếu là kế toán chắc ai cũng hiểu đến tháng, đến quý phải làm tờ khai thuế GTGT. Không phải công ty nào cũng bỏ phí ra trang bị các app, phần mềm cho kế toán. Vì vậy với tôi Excel trở thành người bạn đồng hành.
Các bài viết về Selenium trên diễn đàn có rất nhiều, bạn nào không biết có thể tìm đọc lại.
Tôi có dùng winrar để gom toàn bộ các file và tạo file cài đặt exe cho thuận tiện nhưng sợ bị nhận diện báo là virus nên không up file exe lên. Thay vào đó tôi sẽ chỉ các bạn tự tạo ra file. Ở đây tôi dùng trình duyệt Chrome nên sẽ đưa các link tải về cài đặt như sau:
1. Tải SeleniumBasic v2.0.9.0 dùng cho VBA tại: https://github.com/florentbr/SeleniumBasic/releases
2. Tải bản Chrome và ChromeDriver phù hợp với máy tính của bạn (win32 hay win64). Máy tính tôi dùng bản win64 nên sẽ tải các file sau:
2.1. Chrome win64: https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.91/win64/chrome-win64.zip
2.2. ChromeDriver win64: https://storage.googleapis.com/chrome-for-testing-public/129.0.6668.91/win64/chromedriver-win64.zip
2.3. Chrome-headless-shell win64: https://storage.googleapis.com/chro...6668.91/win64/chrome-headless-shell-win64.zip
3. Cuối cùng là tải file Excel tôi đính kèm trong bài viết này. File được xây dựng để đáp ứng các công việc kế toán của tôi.
* Việc cài đặt tôi không nói đến vì có nhiều tài liệu hướng dẫn rồi. Ở đây tôi giới thiệu sơ một số chức năng thao tác trên userform trong file tôi xây dựng:
* Nhược điểm:
+ Tốc độ chậm trung bình tải một file xml tốn khoản 4-5 giây. Tôi có test tăng tốc độ lên bằng cách giảm thời gian chờ cho mỗi lệnh request tương tác với web để mỗi file xml tải về khoản còn 2 giây nhưng nhận thấy rất hay có lỗi nếu mạng yếu hoặc web thuế quá tải vào những ngày nộp báo cáo, hoặc có thể khi request lệnh "quá nhanh" sẽ bị khóa ip nên tôi không khuyến khích tăng tốc độ.
+ Khi web thay đổi giao diện thì file sẽ phát sinh lỗi trong quá trình tìm kiếm các phần tử web. Tôi đã cố gắng code tổng quát nhất và cập nhật thường xuyên để ngăn ngừa các trường hợp phát sinh lỗi.
- Ưu điểm:
+ Tải file xml hàng loạt cho từng tháng hoặc tùy chọn tải một lúc gồm nhiều tháng (Trong lúc chờ đợi tải file xong ta có thể tranh thủ thưởng thức một tách cà phê).
+ Toàn bộ file tải về sẽ gom vào một Thư mục riêng cho từng tháng phân loại theo hóa đơn mua vào và bán ra.
+ Tạo file txt "nhật ký tải file" thống kê số lượng file tải về thành công / không thành công.
+ Đọc file xml và ghi dữ liệu vào file excel để tạm tính toán số liệu lên tờ khai thuế GTGT.
File chia sẻ không đặt mật khẩu. Code tôi viết theo kiến thức tôi có nên có thể chưa được tối ưu. Ai quan tâm và có nhu cầu sử dụng, có thể hoàn thiện phát triển thêm. (Thật sự ai không đam mê tốc độ thì thử qua file tốc độ rùa bò này, tốc độ siêu chậm là đây)
File đính kèm
Lần chỉnh sửa cuối: