Здравствуйте Oldpasp, Вы писали:
O>Сможет ли кто-нибудь объяснить (желательно как для тупых) каким образом можно управлять объектами Office (Word, Exel, и т.п.)
O>Задача — создать ActiveX dll, на основе ATL (или иначе, но чтобы не надо было тащить с собой MFC)
O>Чтобы использовать можно было из VBA, например:
O>Set appdll=New APPDLL.Class1
А в VBA есть типизированные объекты? Вроде, нет, все через дисп.
O>appdll.HangeSize Me 'где Me -форма в VBE
O>соответственно в dll по этому методу допустим меняется размер формы(или другое свойство)
O>Сделать подобное на VB -5секунд, но опять же потом требуется vb-библиотека, да и скорость при некоторых задачах
Я не очень понял, что тебе надо. Из VBA вызывать программу, которая будет работать с экселем через автоматизацию? А почему не работать с экселем напрямую? И откуда VBA узнает про "форму в VBE"?
Но если ты имеешь код на VB (не VBA, компилируемый), то перевести в C++/ATL его можно автоматически. Главное — директива #import, дуальные интерфейсы и внимательно следить за типами в интерфейсах.
O>Пытался разобраться по статье "Директива #import" — но увы, с ATL проэктом не катит- куча ошибок на создаваемый *.tlh
Ну, давай начинать с первой непонятной. Show me the code.
O>Только просьба, по существу, советы "прочитай книгу ...." — не надо, я бы это сделал, но в радиусе 500 км таких книг нету
MSDN?