Похоже, что ваша проблема может быть связана с некоторыми серьезными изменениями, внесенными MS в библиотеки OCX, чтобы исправить различные дыры в безопасности элементов управления. Я заметил, что вы используете SP3, это, вероятно, включало исправления, которые, по-видимому, оказывали на элементы управления ударные эффекты, например некоторые методы исчезли!
Я столкнулся с той же проблемой - метод вызывался в устаревшем приложении в файле msflxgrd.ocs (метод Rows), который, по-видимому, не существует. Мне понадобилось много времени, чтобы найти решение. Полагаю, вам нужно либо откатить обновление безопасности, либо изменить код, чтобы не использовать этот отсутствующий метод objComDlg.Filter.
См. эту статью для получения дополнительной информации.
- РЕДАКТИРОВАТЬ
ОК. Теперь у меня есть более конкретная информация, это сработало для меня (за исключением того, что моя проблема была с msflxgrd.ocx, но я думаю, что это та же проблема).
Существует специальное обновление для Microsoft ( KB960715 ), которое закрыло некоторые дыры в элементах управления ActiveX, поэтому уязвимые методы все еще присутствуют в элементах управления, но блокируются битами аннулирования. Удаление обновления решило мою проблему, очевидно, если бы вы могли, было бы лучше изменить ваш код, потому что удаление обновления делает вас уязвимым для эксплойтов, для которых оно было разработано!