2010-02-19 25 views
7

Vì vậy, tôi muốn nắm bắt một số lệnh chính trong addin Excel VSTO Docuement cấp của chúng tôi. Tôi dường như không thể tìm thấy một cách để làm điều đó, khác hơn là sử dụng VBA và có addin của chúng tôi nói chuyện với VBA. Bất kỳ trợ giúp/ví dụ sẽ được đánh giá rất nhiều.Có cách nào để nắm bắt HotKeys/Phím tắt trong Excel VSTO chỉ sử dụng C# và không có VBA?

Tôi đang sử dụng Excel 2007.

+0

Các Studio phát triển Office (VSOD) Nhóm hỗ trợ trực quan đã viết một bài báo về vấn đề này: http://blogs.msdn.com/b/vsod/archive/2010 /04/08/using-shortcut-keys-to-call-a-function-in-an-office-add-in.aspx –

Trả lời

3

Bạn chỉ có thể thực hiện việc này thông qua các lệnh gọi API tới phân lớp Excel và xem các lệnh chính. This cũ hơn nhưng vẫn áp dụng.

+0

liên kết bị hỏng –

4
  1. Một phương pháp liên quan đến việc sử dụng các giải pháp bên thứ 3 từ Addin-Express. Sản phẩm của họ bao gồm khả năng thêm lối tắt bàn phím làm thuộc tính cho các lệnh menu ribbon.

  2. Một cách khác là sử dụng các móc bàn phím ở mức độ thấp, thông qua một số Win32 API mà thường được gọi là cửa sổ subclassing. Đây là một lời giải thích tuyệt vời với mẫu mã làm thế nào để làm điều đó. Lưu ý rằng chỉ có "thêm" điều bạn cần làm để có được mã này để "làm việc" trong VSTO đang di chuyển phương thức SetHook() đến sự kiện Startup và phương thức UnhookWindowsHookEx() cho sự kiện Tắt máy.

    Check out the article on MSDN here by Stephen Toub.

  3. Cuối cùng có việc sử dụng các OnAction tài sản của lớp Addin. Phương pháp này yêu cầu sử dụng một số VBA (về phương thức gọi lại trỏ ngược lại phần bổ sung .net bổ sung) và hoạt động ok miễn là bạn sẵn sàng phân phối một số VBA trong giải pháp của mình (tức là một xls hoặc dự án doc w/vba, hoặc có lẽ là một addin gốc). Lưu ý rằng bạn cũng sẽ cần đánh dấu comvisible = true và hiển thị phương thức GetAutomationServiceObject để VBA của bạn có thể tham chiếu addin của bạn từ mã VBA.

    see here for a thread on it...

    Comparison of the techniques given by Geoff Darst

+0

Dường như liên kết Geoff Darst giờ đây hoạt động lâu hơn. Có ý tưởng nào để tìm bài viết đó ngay bây giờ không? Cảm ơn! –

+0

@ MichaelZlatkovsky-Microsoft Xem liên kết này từ narkive: http://microsoft.public.vsnet.vstools.office.narkive.com/a5kXwA4E/capture-keystrokes-ctrl-something – Mark

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