2010-01-08 5 views
10

Chúng tôi là một ISV với kinh nghiệm phát triển và phân phối các ứng dụng dành cho máy tính để bàn được viết bằng VB6. Chúng tôi hiện đang phát triển các công cụ dưới dạng bảng tính Excel có chứa mã VBA. Chúng sẽ được tải xuống miễn phí cho nhiều người dùng khác nhau bao gồm các tổ chức chính phủ địa phương.Thực hành tốt nhất về phát triển Excel VBA

Chúng tôi hiếm khi phân phối các bảng tính bên ngoài tổ chức của chính chúng tôi trước đây. Chúng ta nên làm theo những phương pháp hay nhất nào và có những cạm bẫy nào chúng ta nên chú ý không?

Tôi biết những điều sau đây.

+1

Nếu bạn có thanh tác vụ/thanh thực đơn được liên kết với bảng tính của mình, bạn sẽ phải thay đổi để hỗ trợ giao diện người dùng ribbon Excel 2007 – A9S6

+0

Từ Excel 2007 trở đi, tệp chứa VBA cung cấp thông báo cảnh báo gây phiền nhiễu và VBA không được hỗ trợ trên Mac nữa . –

Trả lời

2

Hai điều mà tôi suy nghĩ:

  • Nếu vì một số lý do bạn có một công thức hoặc văn bản trong một ô, cố gắng và cấu trúc lại nó nếu nó là> 255 ký tự vì Excel không có vấn đề cắt bỏ nó nếu trang tính được sao chép. Nó thậm chí không thông báo cho bạn tùy thuộc vào cách nó được thực hiện.
  • Nếu bạn sử dụng dải ô được đặt tên, hãy tránh ba ký tự có tên là dải ô hoặc ba chữ cái theo sau là số. Trong Office 2007 BAD1 chẳng hạn là một tham chiếu ô hợp lệ.
+0

Mẹo hữu ích, cảm ơn – MarkJ

2

Thay vì phát triển bảng tính, tôi đã tìm thấy việc tạo Thêm Ins dễ dàng hơn để phân phối. Thông thường tôi sẽ có một menu duy nhất với các tùy chọn cho tài liệu và để tạo ra bất kỳ mẫu nào cần thiết cho các chức năng của bạn. Bằng cách thay đổi bảng tính của bạn nhiều hơn "ứng dụng như" có nghĩa là làm việc nhiều hơn nhưng nó có một số lợi thế;

  1. Nó dễ dàng hơn theo đúng với cái nhìn của bạn và cảm thấy
  2. Tất cả các mã của bạn, các mẫu của bạn vv là trong một tập tin (ví dụ: Thêm Vào)
  3. Bạn có thể dễ dàng sử dụng lại mã (có lẽ là nhất bit quan trọng)

cho một ví dụ về cách này có thể nhìn, thấy this demonstation

Cũng khác lừa tôi luôn luôn thêm một số kiểm soát phiên bản và khai thác gỗ sử dụng. Mỗi chức năng chính sẽ nhấn vào một máy chủ web bất cứ khi nào chạy và đăng nhập nó sử dụng. Điều này không phù hợp với mọi tình huống nhưng trong một môi trường doanh nghiệp, nó rất tiện dụng để biết ai đang chạy những ứng dụng nhỏ Excel nào và mức độ thường xuyên.

+0

Chúng tôi đã lên kế hoạch để đặt tất cả mã và mẫu vào một tệp. Các bảng tính sẽ là một bản tải xuống miễn phí để trợ giúp với các phép tính cụ thể - chúng ta cần chú ý đến người dùng sử dụng nó. Tôi hơi lo ngại rằng người dùng có thể nghi ngờ về một bổ trợ hơn một bảng tính và thấy khó khăn hơn để bắt đầu. Đối với ứng dụng này, tôi nghĩ rằng họ cần phải nhận được kết quả thú vị trong một vài phút sau khi tải xuống, nếu không họ có thể bỏ cuộc. 1 mặc dù, lời khuyên thú vị – MarkJ

0

Điều tôi thấy hữu ích khi tạo bảng tính cho nhiều người dùng không có kỹ thuật.Điều này áp dụng trong excel 2007 và trước đó (không chắc chắn nếu nó vẫn là một vấn đề trong các phiên bản sau này), nơi người dùng có thể bị hỏng công thức của bạn trong các trang khác mặc dù tất cả mọi thứ được bảo vệ.

  1. Sử dụng dải ô được đặt tên theo cách có thể thay đổi kích thước hoặc di chuyển dễ dàng khi ai đó thay đổi ý định.
  2. Sử dụng công thức mảng như khi mọi người cắt và dán ô, họ sẽ sửa đổi bất kỳ công thức nào phụ thuộc vào các ô này, nếu bạn sử dụng mảng, chúng phải cắt toàn bộ mảng để tiêu diệt công thức của bạn
  3. Làm cho mảng của bạn sao cho một hàng trên cùng và dưới cùng, và một cột ở bên trái và bên phải được bảo vệ và người dùng không thể thay đổi, theo cách này, họ không thể làm hỏng công thức của bạn.

Chưa bao giờ tìm ra cách đảm bảo định dạng vẫn chưa bị hỏng.