Pergunta

Eu estou escrevendo um DLL que fala para o Excel através de sua interface IDispatch. De VBA eu passar em uma contendo Application.Caller variante a partir da qual eu desenhar o ponteiro IDispatch através .pDispVal.

O que eu gostaria de saber é como consultar a interface via esse ponteiro IDispatch. Eu quero criar um recipiente de ponto de conexão, e de lá encontrar um ponto de conexão para o Excel. O objetivo final é para amarrar as coisas para o evento Calculate do Excel e ser capaz de manipular os dados Excel.

Foi útil?

Solução

Eu recomendaria Binh Ly eternamente excelente (Delphi) COM tutoriais em http://www.techvanguards.com/ , que inclui capítulos inteiramente dedicados a IConnectionPoint e mecanismos relacionados .

Ele também oferece uma ferramenta gratuita para gerar código EventSink.

Ainda assim, eu tenho um forte sentimento de que isso não deve ser necessário em todos, se tudo que você quer fazer é reagir a um evento acionado pelo objeto Application Excel. Já experimentou simplesmente usando os objetos de mensagens publicitárias que o importador Delphi Type Library gera para você? Você pode, naturalmente, também escrever seus próprios wrappers.

Então, novamente, eu não tenho realmente escrito quaisquer suplementos para Excel ainda -. Mas eu faço suplementos de escrita para Outlook e Word para uma vida e Excel realmente não deve ser muito diferente a este respeito

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top