Avatar billede nih Novice
31. juli 2002 - 10:46 Der er 11 kommentarer og
1 løsning

Automation SendPost

Jeg har lavet et lille script på samme måde som i VBA:
Åben regneark
Opdater pivot
Send som mail

strMail = "nih@tre-for.dk"
strXlFil = "C:\Niels\energiserver\Supergros ugeopgørelse.xls"

dim objWrkBook
dim objXl

set objXl =  WScript.createobject("Excel.Application")
set objWrkBook =  objXL.Workbooks.Open(strXlFil)

objXL.Application.Visible = True
objWrkBook.Sheets("ugeoversigt").PivotTables("minPivot").RefreshTable
periode = objWrkbook.Sheets("ugeoversigt").Range("c7")

objwrkbook.sendMail strMail,"energirådgivning "  & periode

objWrkBook.Close true
objXL.Application.Quit
Set objWrkBook = Nothing: Set objXL = Nothing

problemmet er, at hvis ikke Outlook er åben, kommer der en dialogbox, hvor jeg skal 'vælge profil'.
Hvordan undgår jeg det ????

Niels
Avatar billede nih Novice
31. juli 2002 - 10:48 #1
det samme sker, hvis jeg gør det manuelt:
I excell:
filer - send til - postmodtager.

Niels
Avatar billede bak Forsker
31. juli 2002 - 11:20 #2
Det bliver nok lidt svært at undgå, for så skal excel gætte sig til hvilke kanaler mailen skal sendes ad.
Jeg kan umiddelbart se to muligheder, men de er ikke testede:
1. Sæt en sendkeys "{enter}" kommando ind før du lukker excel.
2. På samme måde som du åbner excel kan du jo åbne outlook først.
Avatar billede nih Novice
31. juli 2002 - 11:23 #3
1. Ja, måske - jeg prøver

2. hvad så, hvis outlook er åbent i forvejen ??? - men det kan man vel tjekke på en eller anden måde.
Avatar billede Slettet bruger
31. juli 2002 - 11:33 #4
Du er nødt til at lave et Outlook objekt først.
f.eks:
------
Set ObjOutlook = CreateObject("Outlook.Application")
------

Herefter kan du logge på:
------
set NS = ObjOutlook.GetNamespace("MAPI")
NS.Logon
------

Dette er ikke testet.
Avatar billede bak Forsker
31. juli 2002 - 11:39 #5
Godt blackadder
dette vil lave en ny gemt session af outlook,
og hvis du afslutter med ObjOutlook.quit så lukker du bare den session du har oppe.
Avatar billede bak Forsker
31. juli 2002 - 11:43 #6
Nej. glem min sidste kommentar.
Avatar billede Slettet bruger
31. juli 2002 - 11:46 #7
Man kunne teste hvis Outlook var åben i forvejen.
Hvis den er åben skal du bare bruge 'GetObject' istedet for.
Avatar billede nih Novice
31. juli 2002 - 11:47 #8
blackadder -> post et svar !!!

Det var lige det jeg skulle bruge :o)

Niels
Avatar billede Slettet bruger
31. juli 2002 - 11:50 #9
Du skal iøvigt også huske at sætte en reference til
Outlook Object Library X.0 i VB editoren under
Funktioner -> Referencer
Avatar billede Slettet bruger
31. juli 2002 - 11:50 #10
OK. Godt det virker  :-)
Avatar billede nih Novice
31. juli 2002 - 11:52 #11
det er en .vbs fil, så det skal/kan man ikke :o)

Windows scripting host
Avatar billede Slettet bruger
31. juli 2002 - 11:53 #12
OK, jeg troede det var VBA. :-)
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