Avatar billede kasperh Nybegynder
06. maj 2002 - 10:24 Der er 29 kommentarer og
1 løsning

Outlook integration


Hejsa.

Jeg skal have lavet en integration fra et andet program til Outlook via en VB makro.

Idéen var at når der kom en email ind i outlook, kiggede outlook gennem et filter, og dermed startede en makro i Reflection.

Makroen tog så dataene fra email og startede en makro i det andet program og i den makro brugte dataene. Men hvordan får jeg ingreret de to programmer med hinanden. Hvordan får jeg Outlook til at starte makroen i Reflection? OG evt. føre dataene med?
Avatar billede Slettet bruger
06. maj 2002 - 11:21 #1
Der er en NewMail event i Outlook som du kan bruge som udgangspunkt.
Jeg går ud fra at det er Outlook der skal styre Reflection og ikke omvendt.
Avatar billede kasperh Nybegynder
06. maj 2002 - 13:10 #2
Ja, men spørgsmålet er hvordan jeg starter makroen i Reflection fra en makro i Outlook. JEg ved godt hvordan jeg starter En Outlook makro via et filter.
Avatar billede Slettet bruger
06. maj 2002 - 13:20 #3
Hvilken version af Reflection drejer det sig om ?
Avatar billede kasperh Nybegynder
06. maj 2002 - 13:38 #4
Version 8.
Avatar billede Slettet bruger
06. maj 2002 - 13:45 #5
Er det Reflection for IBM eller UNIX eller noget tredie ?
Avatar billede kasperh Nybegynder
06. maj 2002 - 14:52 #6
IBM.
Avatar billede Slettet bruger
06. maj 2002 - 22:14 #7
Ok, du skal bruge noget der ligner det her:

Dim ReflectionIBM As Reflection.Session
Set ReflectionIBM = CreateObject("ReflectionIBM.Session")

With ReflectionIBM
  .RunMacro "EtEllerandet", "argument1" "argument2"
End With
Avatar billede Slettet bruger
06. maj 2002 - 22:15 #8
Husk at sætte referencer til Reflection objektbiblioteket i dit Outlook VBA Projekt.
Avatar billede kasperh Nybegynder
07. maj 2002 - 09:15 #9
Fedt. Kender du forresten nogle gode bøger om dette?
Avatar billede Slettet bruger
07. maj 2002 - 09:36 #10
Desværre, men hvis du fisker lidt rundt på WRQ's hjemmeside (firmaet der har lavet Reflection) kan du finde en del dokumentation om de forskellige metoder og properties som Reflection tilbyder.

www.wrq.com
Avatar billede kasperh Nybegynder
07. maj 2002 - 09:42 #11
Den siger "Run-time error '13': Type Mismatch" på din "Set" linie?
Avatar billede Slettet bruger
07. maj 2002 - 09:49 #12
Jeg har desværre ikke Reflection derhjemme, jeg kigger lidt nærmere på det når jeg skal på arbejde idag.

Har du sat referencen til Reflection i dit Outlook projekt ?
Avatar billede kasperh Nybegynder
07. maj 2002 - 10:02 #13
Ja, det skulle jeg da mene.
Jeg har ihvertfald sat kryds ved "Reflection for IBM 8.00 Object Library" under References i menuen.
Avatar billede Slettet bruger
07. maj 2002 - 10:11 #14
Prøv med
Set ReflectionIBM = CreateObject(, "ReflectionIBM.Session")
Avatar billede kasperh Nybegynder
07. maj 2002 - 10:23 #15
Hvis jeg bare kører den fra den knap jeg har lavet i Outlook brokker den sig ikke, men den kører heller ikke det den skal i Reflection.

Hvis jeg kører makroen fra "Run Macro" siger den "Operation Failed".
Avatar billede Slettet bruger
07. maj 2002 - 10:30 #16
- Får du stadigvæk Run-time error 13 ?

Prøv at indsætte ReflectioIBM.visible = True
efter CreateObject

Husk, den starter en ny instans af Reflection op hver gang du kører den, så hvis du allerede har Reflection åben, vil den ignorere den og åbne en ny.
Avatar billede kasperh Nybegynder
07. maj 2002 - 10:33 #17
Med "Operation Failed" får jeg ikke error 13.

Hvis jeg sætter "ReflectionIBM.visible = True" får jeg fejl 13 igen.

Den starter derudover ikke en ny Reflection. :/
Avatar billede kasperh Nybegynder
07. maj 2002 - 10:34 #18
Hvis jeg vil have fat i Excel/Word/osv. fra Reflection, står der i manualen at jeg skal skrive Excel.Application, hvorfor skriver du .Session når du skal have fat i Reflection?
Avatar billede Slettet bruger
07. maj 2002 - 10:38 #19
Reflection har kun ét objekt - Session.
Alle metoder og properties hører under dette ene objekt.

Excel f.eks. har flere, workbook, worksheet, chart, osv.
Avatar billede kasperh Nybegynder
07. maj 2002 - 10:57 #20
Ok. Jeg kan se at vi har gjort præcis som der står i manualen at man skal gøre, men det virker stadig ikke!?! nogle idéer?
Avatar billede Slettet bruger
07. maj 2002 - 11:02 #21
Har du mulighed for at sende mig hvad du har ?
tc@elvis.dk

Så kigger jeg på det i aften når jeg tager på arbejde.
Avatar billede kasperh Nybegynder
07. maj 2002 - 11:07 #22
Sådan her ser mit script ud lige nu. Det er det jeg har.

Sub Test()
    Dim ReflectionIBM As Reflection.Session
    Set ReflectionIBM = CreateObject("ReflectionIBM.Session")
    With ReflectionIBM
        ReflectionIBM.Visible = True
    End With
End Sub
Avatar billede kasperh Nybegynder
07. maj 2002 - 12:30 #23
Jeg sad lige og legede med det, og så udkommenterede jeg "Dim.." linien. Nu virker det?!?  Men er det smart at den linie ikke er der? :/
Avatar billede Slettet bruger
07. maj 2002 - 21:32 #24
Det er bare en erklæring af variablen.
Det er normalt at man har den med, men Visual Basic kan vistnok
klare sig uden.

Hvordan står det til nu ?
Avatar billede kasperh Nybegynder
08. maj 2002 - 09:12 #25
Jeg forstår bare ikke hvorfor den fejler på den linie.
Avatar billede kasperh Nybegynder
08. maj 2002 - 09:15 #26
Det ser ud til at virke.. Jeg synes bare ikke at kunne finde ud af at teste det helt igennem. Jeg prøver på at få den til at læse subject på den markerede mail og smide det over til Reflection.
Avatar billede Slettet bruger
08. maj 2002 - 20:11 #27
Ok, jeg har lavet noget (næsten) tilsvarende, bare med Excel.
Der var det Reflection der "styrede" processen, og hentede kundedata
fra et Excelark, for derefter at opdatere en kundedatabase der kørte igennem Reflection.

Bare du har "hul igennem" til Reflection, så er det sværeste overstået.
Avatar billede kasperh Nybegynder
10. maj 2002 - 09:42 #28
Det funker. :) Mange tak for hjælpen.
Ved du evt. hvordan jeg kalder Reflection frem til front?
Reflection.visible = True
virker ikke ?!
Avatar billede kasperh Nybegynder
10. maj 2002 - 09:42 #29
ReflectionIBM.visible = True
:)
Avatar billede Slettet bruger
10. maj 2002 - 11:00 #30
ReflectionIBM.Application.Activate 
...vil gøre Reflection til det aktive program.

Tak for pointene !  :-)
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