Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba

Liên hệ QC

ongke0711

Thành viên gắn bó
Tham gia
7/9/06
Bài viết
2,171
Được thích
2,852
Giới tính
Nam
Chào các bạn,
Tôi ngồi mò mẫm mấy ngày mới tìm được cách tải hóa đơn điện tử từ trang https://hoadondientu.gdt.gov.vn/. Cách này có thể không chuyên nghiệp nhưng cũng giải quyết được vấn đề tải hóa đơn hàng loạt từ trang trên và ghi xuống Excel theo định dạng dễ tổng hợp dữ liệu sau này.
- Tốc độ không nhanh như các ứng dụng python siêu nhanh.
- Chưa tìm được các link tải file .xml hoặc .html
- Chưa trải nghiệm qua các định dạng hóa đơn điện tử của các nhà cung cấp giải pháp khác nhau nên sẽ không đảm bảo chạy đúng 100%.
- Chưa biết cách tích hợp code vượt Captcha của (Python, C#..) vào VBA nên phải nhập Captcha thủ công.
Nói chung cái tool cũng giải quyết được việc tải hóa đơn hàng loạt :D .
Tôi sẽ upload file demo không khóa (có khóa cũng như không) sau vì code còn lộn xộn lắm. Các bạn xem qua và đóng góp cách xử lý tốt hơn, gọn hơn nhé.



*** 12/10/2024: Cập nhật sửa một đống lỗi.
*** 15/10/2024: Cập nhật sửa lỗi Null và nhập ngày tháng.
*** 16/10/2024: Thêm tính năng lưu User/Pass.
 

File đính kèm

  • TaiHoaDonDienTu_v1.xlsm
    195.3 KB · Đọc: 38
  • TaiHoaDonDienTu_v2_luuUserPass.xlsm
    185.4 KB · Đọc: 41
Lần chỉnh sửa cuối:
Tạm thời tôi cũng bó tay. Bạn chuyển ngày hệ thống sang kiểu English (mm/dd/yyyy) xài tạm trước vậy :D .

View attachment 304829

Cái mình thu về thì 1 loại định dạng

1729133241033.png
Em tưởng chỉ cần thêm
Mã:
Sub ghiExcel_TongHop(ByVal jsontext As String, row As Long, ByVal loaiHD As Long, sSTT As Long)
                    ws.Cells(row, c + 2).Value = ISODATE(item(arrColName(c)))
                    ws.Cells(row, c + 2).NumberFormat = "dd/mm/yyyy"
End Sub
tương tự cho sheet mua bán ?

1729135089121.png
 
Upvote 0
Tạm thời tôi cũng bó tay. Bạn chuyển ngày hệ thống sang kiểu English (mm/dd/yyyy) xài tạm trước vậy :D .
Anh phải làm như thế này, định dạng cột bảng Excel là ngày rồi trong mảng cho giá trị định dạng là chuỗi kiểu "yyyy/mm/dd" để ghi. Thay đổi hệ thống là sai lầm tai hại.
 
Upvote 0
File này còn cái lỗi tôi chưa bẫy là có khi có 1 khoảng thời gian nào đó, kết nối web bị lỗi, không có dữ liệu trả về. Thường khi chạy nhiều tháng một lúc sẽ phát sinh lỗi này.
Bài trước bác Tuân có đề xuất việc lưu các đoạn bị lỗi rồi sau đó quay lại kết nối lấy dữ liệu. Để có thời gian tôi sẽ xử lý tiếp. :)
 
Upvote 0
File này còn cái lỗi tôi chưa bẫy là có khi có 1 khoảng thời gian nào đó, kết nối web bị lỗi, không có dữ liệu trả về. Thường khi chạy nhiều tháng một lúc sẽ phát sinh lỗi này.
Bài trước bác Tuân có đề xuất việc lưu các đoạn bị lỗi rồi sau đó quay lại kết nối lấy dữ liệu. Để có thời gian tôi sẽ xử lý tiếp. :)
anh ONGKE có thể thêm cột chi tiết hàng hóa từng hóa đơn được không anh. nếu có thì quá đỉnh luôn.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom