Код: Выделить всё
var application = (_Application)_nativeTaskPane.Application;
application.CommandBars["Task Pane Title"].Top = top;
application.CommandBars["Task Pane Title"].Left = left;
1) _nativeTaskPane — это мой экземпляр, реализующий _CustomTaskPane (на самом деле это Microsoft .Office.Core.CustomTaskPane)
2) _Application — Microsoft.Office.Interop.Excel._Application
Разумеется, я делаю это после установки Visible = true. Даже подписался на VisibleStateChange панели задач, чтобы быть более уверенным. Однако я получаю COMException с HRESULT E_FAILED.
Дело в том, что я могу читать эти свойства (сверху и слева) при отладке, однако их установка вызывает исключение.< /p>
Похоже, проблема всплывала в интернете как минимум несколько раз:
1) http://www.add-in-express.com/forum/rea ... 1&TID=5595
2) [http://aritrasaha.wordpress .com/2009/05/19/programatically-position-office-2007-floating-custom-task-pane/]
3) [http://www.visualstudiodev.com/visual-s ... 5822.shtml]
Обходной путь — использование Windows API. Однако может ли кто-нибудь объяснить, что может быть не так с использованием подхода CommandBar? Возможно, я смогу что-то «перенастроить», чтобы эти верхние/левые настройки работали без исключений.
Подробнее здесь: https://stackoverflow.com/questions/691 ... -task-pane
Мобильная версия