23. august 2012 - 10:35Der er
4 kommentarer og 1 løsning
Kalde funktion i andet dokument med array som argument
Hej eksperter,
Jeg har et dokument med en masse kode, som kører som en "motor" for nogle andre ark. Disse ark er tilpasset, så de udfører forskellige handlinger alt efter hvad arket skal kunne.
Fra de enkelte ark kalder jeg rutinerne/funktioner i "motoren" med application.run("NavnPåMakro", argumenter). I praksis laves en global string indenholdende argumentet.
I arket med "motoren" ligger der nogle koder, som virker ved hjælp af arrays. De enkelte ark sender en array til "motoren" som gennemløber denne array og returnerer en array med informaionter.... eller rettere - det var tanken!
VBA kommer med en fejl om, at man ikke kan lave en array global og dermed ikke sende den til det andet ark...
Hvad gør man så??
Min plan B er at de enkelte ark laver array'en om til en string (XXXX; XXXX; XXXX; XXXX; XXXX; XXX osv.) og splitter den i "motoren" igen.... men det ikke så køn en løsning...
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
Indtil videre er jeg kun nået til at se, om jeg overhovedet kan få det til at virke. Mit eksempel ser sådan ud:
I dokument a.docm ligger følgende kode i modul "M1": ------------------------------- Global a As String Sub test()
a = Array("Tekst1", "Tekst2") MsgBox a(0)
d = Application.Run("module1.test2", a)
MsgBox d
End Sub ------------------------------ I document b.docm ligger følgende kode i modul "Module1" følgende kode_ ------------------------------ Public Function test2(b)
Nej, det er intet problem. Sålænge det er i samme dokument, så virker det fint. Det er altsammen for at undgå, at koden skal ligge i en masse filer, så der kan fejlrettes ét sted.
Efter at den makro, hvori funktionen kaldes, er blevet indlæst som add-in, så er problemet løst.
Synes godt om
Ny brugerNybegynder
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.