Từ kinh nghiệm của riêng tôi:
Nếu bạn muốn nhắm mục tiêu Office 2003 trở lên, sau đó bạn muốn sử dụng Office 2003 PIAs - và giới hạn mình với Office 2003 API. Mã sẽ chạy trên Office 2003 hoặc mới hơn. Bạn vẫn có thể gọi các chức năng Office 2007 bằng cách sử dụng sự phản chiếu, nhưng điều đó không dễ chịu.
Tôi tưởng tượng có cùng một câu chuyện nếu phiên bản cơ sở của bạn là Office 2000 - mặc dù tôi chưa thử nó, và tôi tin rằng phiên bản đầu tiên mà Microsoft cung cấp PIA là Office 2002 (XP).
Bạn có thể tạo hội đồng Interop của riêng mình cho năm 2000 và tôi không có lý do gì để tin rằng bạn không thể làm điều đó cho '95, mặc dù bạn là người đầu tiên tôi từng thấy yêu cầu hỗ trợ '95 ! Nó đi mà không nói rằng nếu bạn tạo ra hội đồng Interop của riêng bạn, bạn sẽ cần phải triển khai chúng với các ứng dụng của bạn.
Trong mọi trường hợp, bạn muốn sử dụng phiên bản cao nhất Office bạn có thể lấy đi làm cơ sở để bạn có thể hỗ trợ nhiều tính năng nhất có thể mà không cần phải suy nghĩ. Bạn nên phát triển mã của mình trên máy chỉ có chỉ phiên bản Office đó đã được cài đặt.
Trong trường hợp của mình, tôi phát triển cho Office 2003 và biết rằng người dùng của tôi cũng có 2003. Vì vậy, tôi yêu cầu họ đảm bảo rằng họ đã bật tính năng "Hỗ trợ lập trình .NET" (bạn có thể thực hiện thông qua Thiết lập Office 2003) thông qua Thêm/Loại bỏ Chương trình nếu bạn chọn tùy chọn Thay đổi). Tùy chọn đó về cơ bản cài đặt PIAs cho GAC. Đối với những người dùng không thể thực hiện điều này, chương trình cài đặt của tôi phát hiện sự thiếu các PIA và cài đặt chúng trước khi cài đặt ứng dụng của tôi (như đối với .NET framework).
XCOPY triển khai? Vâng, tôi cũng thích điều đó - nhưng hãy quên nó đi. Đối với một điều, nếu add-in của bạn sẽ làm việc trong chế độ bảo mật 'cao', sau đó bạn sẽ cần một mã ký COM 'shim' để ngồi giữa mã của bạn và văn phòng, và rằng cần phải được đăng ký. Tôi tin rằng VSTO cung cấp shim của riêng mình, nếu bạn chọn để đi xuống con đường đó (tôi đã không, kể từ khi tôi cần thiết để có thể 'lái xe' Office từ đầu thay vì dựa vào người dùng để bắt đầu ứng dụng).
Triển khai - và xử lý việc cài đặt & vấn đề bảo mật - là một trong những phần khó nhất của Office Add-in development với .NET, và đó là một kicker thực sự đến đúng lúc bạn nghĩ bạn đã hoàn thành.
My lời khuyên mạnh mẽ là để tiết kiệm cho mình ngày và tuần rắc rối, và xem Add-in Express. Gần đây tôi mới bắt gặp chính bản thân mình và đã tự đá mình từ đó vì nó có thể đã cứu tôi rất nhiều thời gian. Nó có một số lợi ích mà tôi cho rằng sẽ hữu ích cho bạn:
- Nó cho phép bạn tạo một bổ trợ thêm Office 2000 vào Office 2007 (xin lỗi, không phải '95), bất kể bạn đang sử dụng phiên bản nào có trên PC phát triển của bạn.
- Nó tạo ra một trình cài đặt cho bạn (mà thậm chí hoạt động trên Vista!), Mà chính nó là đáng giá.
- Nó đi kèm với khuôn mặt COM của riêng nó và được tích hợp trong phạm vi mà bạn không cần phải lo lắng về nó.
- Nó sẽ cho phép bạn có một bổ trợ duy nhất có giao diện menu/thanh công cụ trong các phiên bản Office lên đến năm 2003, nhưng giao diện dải trong năm 2007.
Lưu ý rằng tôi không có liên kết với Add-in Express (không phải là khách hàng gần đây), nhưng tôi vẫn chưa chuyển đổi dự án của mình sang sử dụng nó. Các thử nghiệm ban đầu mà tôi đã thực hiện khiến tôi tin rằng nó khá tốt - và chắc chắn là cách để đi cho các dự án vừa và nhỏ.
+1 để đề cập đến thể hiện bổ trợ. Một điểm khác tôi muốn đề cập đến là bạn có thể tạo các khung tác vụ tùy chỉnh nhắm mục tiêu excel 2000 đến 2003. Tất cả điều này với một mức giá rất hợp lý. Một thay thế nguồn mở (mặc dù với ít kiểu cách) mà bạn có thể muốn xem xét là Excel DNA cũng rất tốt. Lưu ý: Tôi không liên kết với phần bổ sung Express hoặc dự án ExcelDNA theo bất kỳ cách nào (ngoài việc sử dụng cả hai) – quixver