Avatar billede challenge Praktikant
02. august 2010 - 10:57 Der er 2 kommentarer og
1 løsning

Excel Addin - Strings og tabeller

Hej Eksperter,

I forbindelse med en arbejdsopgave skal jeg have implementeret og programmeret et Excel-addin.

Først og fremmest ønsker jeg at mine funktioner skal kunne returnere strings fra C++ DLL'en til Excel. Jeg har prøvet med strings og SAFEARRAY, men intet kan jeg få til at virke. Hvis nogen skulle ligge inde med et simpelt eksempel ville jeg være meget taknemmelig, hvis jeg kunne få indblik i denne.

Anden del af mit ptoblem består i, at jeg ønsker at returnere værdier til andre celler end blot den formlen er indtastet i. Indtaster jeg for eksempel en funktion i A1 ønsker jeg, at en tabel af tal bliver indsat (i f.eks. området A1:B10) i stedet for blot et enkelt tal i A1. Kan dette gøres vha. alm. Excel-addins, eller skal der tages Active-X eller COM i brug her?
Avatar billede arne_v Ekspert
02. august 2010 - 17:49 #1
Der er to veje frem:

Excel VBA---->Win32 DLL
Excel VBA---->COM DLL

Med mindre du er skrap til COM vil jeg anbefale det foerste.

For at returnere en string mener jeg at du skal bruge BSTR:

return SysAllocStringByteLen(normalnultermchararray, lengthafsamme);
Avatar billede challenge Praktikant
04. august 2010 - 14:11 #2
Hej Arne,

Mange tak for hjælpen. SysAllocString() virkede efter hensigten.

Ang. anden del af problemstillingen (at returnere til flere end én celle) - vil det hér være nemmest blot at bruge VBA til at returnere de yderligere værdier, eller kan dette gøres direkte gennem DLL'en?

In any case, smid et svar.
Avatar billede arne_v Ekspert
04. august 2010 - 15:10 #3
Din VBA kode maa kunne opdatere andre celler ogsaa.

Men jeg er ikke nogen Excel VBA guru.

Og et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester