anoniem Geplaatst: 16 januari 2002 Delen Geplaatst: 16 januari 2002 Ik heb een VB-programma (VB6) waarin je Outlook moet kunnen starten. Als Outlook gestart wordt, moet meteen een nieuwe E-mail gemaakt worden waarin de geadresseerden en het onderwerp al zijn ingevuld, zodat de gebruiker alleen nog maar de tekst hoeft te typen. Kan dit in VB6. Ik weet dat er in VB7 een object Process is waarmee dit soort dingen geregeld kunnen worden, maar hoe dat in VB6 zit weet ik niet. Ik heb het al geprobeerd via het commando "Shell [i:7d5d767c9b]padnaamprogrammanaam[/i:7d5d767c9b]" en dan met mogelijke schakelopties, maar daar kom ik ook niet mee verder. Quote Link naar reactie
anoniem Geplaatst: 16 januari 2002 Auteur Delen Geplaatst: 16 januari 2002 Hoi Bigfoot, Dit is de code die ik gebruik: [code:1:903bf81165]' Usage Example ' CALL SendEmail("Email address", "Subject") Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOWNORMAL = 1 'Public Sub SendEmail(ByVal E_Mail_Address As String, Optional ByVal SSubject As String) Dim lSuccess As Long lSuccess = ShellExecute(0&, vbNullString, "mailto:" & E_Mail_Address & "?subject=" & _ SSubject & App.Title, vbNullString, "C:", SW_SHOWNORMAL) If lSuccess <= 32 Then ' If 32 or less is returned then an error has ' occured. MsgBox "Error sending mail. Make sure that you have your email client correctly installed and configured", vbCritical End If End Sub[/code:1:903bf81165] En om een e-mail adres te sjekken gebruik ik deze code: [code:1:903bf81165] Public Function IsEMailAddress(ByVal sEmail As String, _ Optional ByRef sReason As String) As Boolean Dim sPreffix As String Dim sSuffix As String Dim sMiddle As String Dim nCharacter As Integer Dim sBuffer As String sEmail = Trim(sEmail) If Len(sEmail) < 8 Then IsEMailAddress = False sReason = "Too short" Exit Function End If If InStr(sEmail, "@") = 0 Then IsEMailAddress = False sReason = "Missing the @" Exit Function End If If InStr(InStr(sEmail, "@") + 1, sEmail, "@") <> 0 Then IsEMailAddress = False sReason = "Too many @" Exit Function End If If InStr(sEmail, ".") = 0 Then IsEMailAddress = False sReason = "Missing the period" Exit Function End If If InStr(sEmail, "@") = 1 Or InStr(sEmail, "@") = Len(sEmail) Or _ InStr(sEmail, ".") = 1 Or InStr(sEmail, ".") = Len(sEmail) Then IsEMailAddress = False sReason = "Invalid format" Exit Function End If [/code:1:903bf81165] Hoop dat het net zo goed voor jou werkt als voor mij.... Quote Link naar reactie
anoniem Geplaatst: 16 januari 2002 Auteur Delen Geplaatst: 16 januari 2002 Dus toch de Win32 API-functies. En ik dacht dat ik te moeilijk dacht. Heb er een jaar of drie geleden in Delphi nog mee gewerkt, maar die kennis was dus aardig weggezakt. :smile: Thanx. Quote Link naar reactie
anoniem Geplaatst: 18 januari 2002 Auteur Delen Geplaatst: 18 januari 2002 Ik was net op zoek naar een dergelijk voorbeeld. Maar bestaat ook de mogelijkheid om reeds vanuit de code tekst te plaatsen in het bericht, of het plakken van het klembord! Nu kan ik reeds een nieuw bericht openen met e-mail adres en onderwerp, maar zou graag het plakken van de inhoud uitschakelen, zodat het bericht nog enkel hoeft verstuurd te worden. Quote Link naar reactie
anoniem Geplaatst: 19 januari 2002 Auteur Delen Geplaatst: 19 januari 2002 Ik heb ff snel gezocht om een body toe te voegen, maar ik heb nog nix gevonden. Ik heb wel evt wat met Automation....... [code:1:68c666b80b]Dim Out As Object ' Create object variable ' Assign Outlook.Application to object variable Set Out = CreateObject("Outlook.Application") With Out.CreateItem(olMailItem) ' Using the outlook object ' Insert recipients one at a time with the Add method .Recipients.Add "abcd@xxx.com" ' To: Field ' To place users in the CC: field, specify olCC type .Recipients.Add("blabla@debla.com").Type = olCC .Subject = "Tester de test test" ' Message subject .Body = Text1.Text ' Copy message from Text1 ' Insert attachments one at a time with the Add method .Attachment.Add "c:blabla.exe" ' Finally copy message to Outlook outbox with send .Send End With[/code:1:68c666b80b] Misschien heb je er wat aan..... Quote Link naar reactie
anoniem Geplaatst: 19 januari 2002 Auteur Delen Geplaatst: 19 januari 2002 Oeps wat vergeten maar misschien weet je dit al. Om dit werkend te krijgen moet je wel nog ff het volgende doen: Project -> References -> Microsoft Outlook x.0 Object Library Quote Link naar reactie
anoniem Geplaatst: 19 januari 2002 Auteur Delen Geplaatst: 19 januari 2002 Ik ben misschien wat onduidelijk geweest, maar dit zou ik moeten kunnen vanuit VBA(excell), kun je daar dan ook die libary toevoegen? Bij verwijzingen heb ik alvast deze libary niet gevonden. Quote Link naar reactie
anoniem Geplaatst: 19 januari 2002 Auteur Delen Geplaatst: 19 januari 2002 Ik weet niet of dit werkt (Ik gebruik geen VBA), maar volgens mij kan je de Library zo toevoegen: Extra -> Verwijzingen -> Microsoft Outlook x.0 Object Library (x = versie nummer) Bij mij staat hij er gewoon tussen. Maar misschien komt dat omdat ik ook VB heb... Dat weet ik niet Quote Link naar reactie
anoniem Geplaatst: 21 januari 2002 Auteur Delen Geplaatst: 21 januari 2002 Inderdaad, dat werkt nu. Maar hoe kan ik nu ipv tekst naar outlook te sturen, een stuk van een excell werkblad meesturen. Met knippen en plakken lukt dit wel, dus automatisch zou dit ook wel moeten kunnen, maar hoe? Quote Link naar reactie
anoniem Geplaatst: 21 januari 2002 Auteur Delen Geplaatst: 21 januari 2002 Je wil dus een stukje van de sheet melen en niet de hele werkmap..... Volgens mij kan je gewoon de file als attachement melen, maar een stukje......... Ik heb wel wat automation source voor excel maar niet om stukjes te selecteren en te melen...... Als ik wat tijd over heb zal ik het ff uitzoeken..... Quote Link naar reactie
anoniem Geplaatst: 22 januari 2002 Auteur Delen Geplaatst: 22 januari 2002 Ik wil inderdaad maar een stuk uit het werkblad in een mail versturen. Dat stukje kopieëren en manueel plakken is geen enkel probleem, dus moet ik alleen de inhoud van het klembord kunnen meegeven met de nieuwe mail. Ik had gedacht dit te kunnen met de functie ClipBoard.GetData zoals in VB, maar blijkbaar bevat VBA deze niet, of moet het op een totaal andere manier. Hopelijk vind je iets waarmee dit kan. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen