Avatar billede bak Forsker
02. marts 2003 - 15:30 Der er 8 kommentarer og
2 løsninger

Atomatisering af Outlook2000 fra excel VBA

Kan man automatiserere outlook2000 fra excel VBA, således at man kan sende et range eller et (1) Ark, der kommer til at stå i meddellelsesteksten (Body) på mailen.
Altså ikke som et attachment, men som tekst (richtext eller html)direkte læsbart.

Det kan lade sig gøre hvis man manuelt kopierer et range over i mailens body.

BAK
Avatar billede jkrons Professor
02. marts 2003 - 17:00 #1
Hej Bak!

Jeg har desværre ikke Outlook installeret herhjemme, så jeg har ikke testet det, men prøv at se på dette link:

http://www.j-walk.com/ss/excel/tips/tip86.htm
Avatar billede mortrr Praktikant
02. marts 2003 - 17:10 #2
Kan ikke lige få fat i body på en fornuftig måde, men mon ikke man så bare kan springe over hvor gærdet er lavest med en sendkeys:

    Dim ol As Outlook.Application, olm As Outlook.MailItem
    Set ol = CreateObject("Outlook.Application")
    Set olm = ol.CreateItem(olMailItem)
    Cells.Copy
    olm.Display
    olm.BodyFormat = olFormatHTML
    SendKeys "" & vbTab & vbTab & vbTab & vbTab & "^a^v"

Du skal bruge en reference til "Microsoft Outlook x.x Object Library" (Tools - References).
Avatar billede bak Forsker
02. marts 2003 - 17:39 #3
Tak for det, begge to.
begge dele er testet og funker efter hensigten. :-)
begge svar gør brug af sendkeys for at paste og det er åbenbart den eneste mulighed. Når selv J.Walk er nødt til at bruge det, findes der nok ikke andre muligheder.
Jeg havde selvfølgelig håbet på noget alm. paste eller OLE- drag&drop.
Tak for hjælpen.
Avatar billede bak Forsker
02. marts 2003 - 17:40 #4
ps mortrr-> den æder ikke linien olm.BodyFormat = olFormatHTML
Avatar billede jkrons Professor
02. marts 2003 - 17:42 #5
Velbekomme!

Personligt bryder jeg mig ikke om løsninger baseret på sendkeys, da de er lidt risikable, hvis ikke den rigtige applikation er i forgrund når de udføres, men ind imellem er der ikke andre muligheder.
Avatar billede mortrr Praktikant
02. marts 2003 - 17:47 #6
Prøv med
olm.BodyFormat = 2

og tak.
Avatar billede Slettet bruger
02. marts 2003 - 18:27 #7
måske kan du bruge den kode jeg fandt på en tysk side. Se
http://www.eksperten.dk/spm/323579
Avatar billede mortrr Praktikant
02. marts 2003 - 18:33 #8
Den er meget god, bortset fra et punkt:
  .Body = ClpObj.GetText(1)
Den fjerner al formattering på det indsatte.
Avatar billede bak Forsker
02. marts 2003 - 21:54 #9
hov-sa -> du skal også ha' point for det.
Avatar billede Slettet bruger
02. marts 2003 - 21:58 #10
Så siger jeg mange tak.

Desværre har jeg ikke kunnet finde noget om hvordan man bibeholder formateringen.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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