Hej! har letat mig fördärvad men hittar inte hur jag skapar nytt outlook medd(med angiven adress) från vb!! Ska alltså inte skicka ett medd direkt..det hittar jag överallt, utan bara öppna medd så att man sen kan skicka det när man skrivit klart! Jonas, tack för tipset..men jag undrar om det är de jag behöver? Känns som det är en mindre sak att utföra. har testat med: Jonas, Jonas, Andreas, lessen förvann ett tag och ber om ursäkt att jag glömde stänga tråden! Skapa nytt outlook mailmeddelande
Testat skapa ny oulookprocess men då klagar outlook..
Någon som vet?Sv: Skapa nytt outlook mailmeddelande
Vad du är ute efter är automatisering av Outlook, även känt som Outlook Automation. http://www.outlookcode.com/forums.aspx har ett forum som handlar om Outlook + .NET och du kan hitta väldigt mycket exempel och artiklar på internet genom att söga på t.ex "VB.NET Outlook Automation" eller liknande.
//AndreasSv: Skapa nytt outlook mailmeddelande
Dim olApp As Outlook.Application
Dim olNS As NameSpace
Dim olMessage As MailItem
Set olApp = CreateObject("Outlook.Application")
Set olNS = olApp.GetNamespace("MAPI")
Set olMessage = olApp.CreateItem(olMailItem)
olMessage.To = strTo
olMessage.Subject = strSub
olMessage.Body = strMsg
olMessage.Send
olApp.Quit
Set olApp = Nothing
Set olNS = Nothing
Set olMessage = Nothing
och:
shell(mailto: blblba)
men jag vill inte skicka direkt..bara aktivera ett nytt outlook meddelande och smälla in en mottagaradress..Sv: Skapa nytt outlook mailmeddelande
Den första kodsnutten du visade är juh Outlook Automation. Så långt så bra, men sen chockar du mig lite när du säger att "Jag vill inte skicka mailet!".. nehe? varför anropas du då <b>olMessage.Send</b>
<code>
Dim olApp As Outlook.Application
Dim olNS As NameSpace
Dim olMessage As MailItem
Set olApp = CreateObject("Outlook.Application")
Set olNS = olApp.GetNamespace("MAPI")
Set olMessage = olApp.CreateItem(olMailItem)
olMessage.To = strTo
olMessage.Subject = strSub
olMessage.Body = strMsg
' Det är denna raden som skickar ditt meddelande
olMessage.Send
olApp.Quit
Set olApp = Nothing
Set olNS = Nothing
Set olMessage = Nothing
</code>
Om jag inte minns fel så finns det det en metod som heter <b>Display</b> (kan oxå vara så att den heter <b>Show</b> men det tror jag inte) på MailItem klassen. Prova att anropas den istället för <b>Send</b> så skall du se att mailet dyker upp på skärmen och skickas inte.
<b>PS.</b> Du kan placera din kod mellan < code > och </ code > (utan mellanslag) här på forumet så färgas den.
//AndreasSv: Skapa nytt outlook mailmeddelande
Löste ditt problem sig eller behöver du mer hjälp? Om du är klar med detta problemet så markera inlägget som antingen löst (om du hittat en lösning - skriva gärna vad den var så andra kan ta del av både fråga och svar) eller stängd (om du inte hittat en lösning men problemet inte är aktuellt längre).
Om du inte löst problemet och vill ha mer hjälp så skriv ett inlägg som beskriver var du står idag med problemet (vad du har provat etc) så skall vi se om vi inte kan hitta en lösning.
//AndreasSv: Skapa nytt outlook mailmeddelande
Jo jag löste det hela med en rad kod:
Call System.Diagnostics.Process.Start("mailto:" & m_epost) 'm_epost innehåller en epostadress!
Detta resulterar i vad jag ville, alltså att öppna standardprogrammet för epost med ett nytt meddelande med mottagaradress som "väntar på att bli skickat" om du förstår vad jag menar. Mitt exempel tidigare "där jag chockade dig" med att inte vilja sända, var ett exempel på hur jag inte ville att det skulle funka. Tack ändå för allt.
/Jonas