Chúng tôi có nhiều báo cáo được tạo thông qua VBA & Excel. Chỉ một tỷ lệ nhỏ các báo cáo là tính toán thực tế - phần lớn công việc là các cuộc gọi sql và định dạng/ghi các ô. Dài nhất trong số đó mất vài giờ, phần lớn mất khoảng 20-30 phút mỗi.Trình biên tập VB6/VBA miễn phí và thực hành Excel tốt nhất
Mã VBA/Excel cắm vào một dll mà các ứng dụng máy tính để bàn VB6 sử dụng - nó ở đây là tất cả các cuộc gọi sql được thực hiện. Trong khi tôi chắc chắn rằng có chỗ để cải thiện ở đây, nó không phải là điều này liên quan đến tôi - các ứng dụng máy tính để bàn khá linh hoạt.
Hai chức năng VBA được sử dụng trong sự phong phú: Chúng được gọi là GetRange và SetupCell và chúng gần như luôn xuất hiện cùng nhau. Hàm GetRange là một trình bao bọc cho đối tượng Excel.Range. Phải mất một trang tính và 4 giá trị cho phạm vi của phạm vi. Sử dụng chính của nó là chọn ô để chỉnh sửa. Dường như không có nhiều cơ hội để chọn nó, nhưng đó có phải là cách tốt nhất không?
Đối tác của nó là SetupCell. Điều này có một đối tượng Excel.Range, văn bản và một tá tham số về ô (phông chữ, đường viền, vv). Hầu hết các tham số này là tùy chọn boolean nhưng một lần nữa, nó có vẻ rất lãng phí. Một số trong số này có thể được thiết lập sau khi chết nhưng một số phụ thuộc vào các giá trị chứa trong tế bào.
Có khá nhiều mã chứa trong các chức năng này, chủ yếu là nếu báo cáo và công việc sẽ không đánh giá cao việc tôi đăng nó.
Tôi đoán tôi đã có hai câu hỏi: Có cách nào tốt hơn và đó là những gì và là có hồ sơ miễn phí mà tôi có thể sử dụng để xem nếu phần lớn thời gian là ở đây hoặc trong dll?
Không dễ dàng như vậy. Báo cáo cần phải có độ dài khác nhau, một số ô cần phải được tô màu tùy thuộc vào giá trị trong ô (hoặc tổng của các ô). –
SSRS sẽ có thể đối phó với hầu hết mọi thứ bạn ném vào nó - tôi thứ hai câu trả lời này. –