2012-02-29 39 views
5

Trước hết, cảm ơn bạn đã dành thời gian và ... Read More VSTO Excel Add-in trong VB.NET sử dụng VS 2010. Trong phiên bản gốc (tức là VBA), tôi có một UserForm vô dụng (được gọi là frmMain) nổi trên đầu và luôn hiển thị trong khi người dùng vẫn ở trong ứng dụng Excel , nhưng không hiển thị nếu người dùng chuyển sang cửa sổ khác bên ngoài Excel.Excel AddIn - Luôn luôn hiển thị biểu mẫu cửa sổ trong khi w/in Excel

Ví dụ: trong Excel người dùng có thể nhấp vào bất kỳ tab trang tính nào, chọn bất kỳ ô nào, v.v. và UserForm vẫn hiển thị. Đây chính xác là cách tôi muốn.

Vấn đề là, trong bổ trợ VSTO mới, tôi không thể lấy biểu mẫu Windows để bắt chước hành vi tương tự này.

Tôi sử dụng frmMain.Show() để hiển thị biểu mẫu ở dạng không mod, nhưng thời điểm người dùng nhấp vào trang tính Excel (tức là kích hoạt trang tính) biểu mẫu sẽ bị ẩn sau trang tính.

Tôi có thể Alt-Tab theo cách thủ công để đưa biểu mẫu trở lại chế độ xem, nhưng tôi cần nó luôn ở chế độ xem - nổi ở đầu trang tính Excel miễn là người dùng chưa rời khỏi ứng dụng Excel.

Tôi đã thử nhiều thứ khác nhau, bao gồm việc đặt biểu mẫu thành TopMost, tuy nhiên, điều này làm cho biểu mẫu ở dạng TopMost ở mọi nơi - kể cả bên ngoài Excel. Tồi tệ hơn thế, nếu người dùng làm bất cứ điều gì bình thường sẽ dẫn đến việc Excel khởi chạy hộp thoại (ví dụ như đóng sổ làm việc mở, hãy nâng cao cảnh báo "Bạn có muốn lưu thay đổi ...") hộp thoại cảnh báo hay không bị ẩn và không thể truy cập được sau biểu mẫu frmMain (kể từ frmMainTopMost).

Làm cách nào để biểu mẫu của tôi hoạt động theo cách mong muốn (tức là giống như cách bạn đã làm trong VBA)?

Xin cảm ơn !!!

Rob

Trả lời

1

Bạn nên có một cái nhìn tại Custom Task Panes có thể được cập cảng hoặc nổi trong ứng dụng Excel. Bạn cũng có thể xem xét các giao diện COM cho một kết nối cấp thấp hơn (see related SO Post) - mặc dù Các khung tác vụ thực sự là loại hành vi này được dùng để làm gì.

Các vấn đề liên quan