Опишу, что я сделал.
- Компонент написал на C#.
- Приделал к нужному классу специальные атрибуты, как описано в MSDN.
- Скомпилировал.
- Зарегистрировал dll с помощью regasm.
- С помощью нее же сделал tlb.
- Скопировал dll в папку с excel.exe
- Создал книгу Excel, в ее проект VBA добавил ссылку на tlb. При этом в Object Browser появился мой класс и его методы.
- Написал в модуле проекта VBA процедуру, создающую нужный объект и вызывающую метод.
Метод вызывается без проблем на моей машине.
Перенес файл dll на другую машину, выполнил все те же действия, начиная с четвертого пункта, но результата желаемого не получил.
VBA выдает таинственую ошибку Automation error. На обеих машинах установлен Net Framework 2.
Не знаю, что и думать. Сам-то я новичок в Net, буду признателен уважаемым гуру за любую помошь. Кстати, с удовольствием бы посмотрел на работающий пример COM-компонента, написанного на C#.
You know what I really want in a girl? Me! (c)BHG