Замена диалогового окна «Открыть файл» в Excel XP надстройкой COM - PullRequest
0 голосов
/ 27 сентября 2011

Я работаю над надстройкой C # для Excel XP, для которой мне нужно обрабатывать открытия файлов и сохранять события с моими собственными диалоговыми окнами. Мне удалось сделать это для сохранения путем (в основном) передачи события WorkbookBeforeSave в объекте приложения Excel и отмены поведения по умолчанию. Событие WorkbookOpen есть, но оно вызывается после открытия документа, а не когда пользователь нажимает кнопку «Открыть» или нажимает Ctrl-O.

Вот аналогичный вопрос, хотя решение для более поздних версий Office и не будет работать для меня: Замена диалога открытия файлов Word в надстройке COM

Я не могу просто настроить обычный диалог открытия файла - мне нужно заменить его полностью. Есть идеи?

1 Ответ

0 голосов
/ 01 октября 2011

Одним из несколько хакерских способов было бы получить событие WindowActivate из com-интерфейса Excel (dispID 0x614 для excel10).Затем следите за последним hwnd и следите за тем, когда оно меняется, и является ли оно окном Excel Doc (я думаю, вы можете использовать spy ++, чтобы узнать имена окон Excel)

...