Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA en E-mail

146 views
Skip to first unread message

Luc Heyndrickx

unread,
Jun 20, 2002, 1:26:50 AM6/20/02
to
Hallo,

In excel heb je de mogelijkheid om uw werkmap te verzenden via E-mail naar
iemand anders.
Je hebt dan de keuze tussen of heel de werkmap verzenden, of de huidige
pagina als hoofdtekst van uw E-mail. Bij gebruik van deze mogelijkheden
wordt uw werkmap/worksheet netjes in uw postvak uit geplaatst.

Nu de vraag: bestaat er een mogelijkheid om dit via VBA te doen?
Zodanig dat de gebruiker enkel nog op een knop te drukken heeft, en dat hij
dan niet meer moet kiezen tussen werkmap/werkblad, dat hij ook de
geadresseerde niet meer moet invullen, evenals het onderwerp.

Luc

Henk

unread,
Jun 21, 2002, 3:40:12 AM6/21/02
to
VBA is wel geïnstalleerd, maar de scripts heb ik niet
onder de knie.

Groeten,
Henk
>-----Oorspronkelijk bericht-----

>.
>

Daniel Rijs

unread,
Jun 21, 2002, 7:07:01 AM6/21/02
to
Probeer eens met:


Ontvangers = Array("na...@xyz.com", "na...@xyz.com")
ActiveWorkbook.SendMail Recipients:=Ontvangers, Subject:="
Naam onderwerp"


Succes
Daniel

Luc Heyndrickx

unread,
Jun 21, 2002, 2:09:53 PM6/21/02
to

"Daniel Rijs" <danie...@hotmail.com> schreef in bericht
news:1131e01c21913$c49e58e0$3bef2ecf@TKMSFTNGXA10...

Prachtig,

dit is al iets. Het zou echter nog beter zijn indien ik er in zou slagen om
één werkblad te verzenden.
Er zijn in dit geval 2 problemen.

1- Het excel bestand is behoorlijk groot, en als ik ongeveer 60 keer dit
bestand terug krijg...
2- Dit bestand verwijdert bij het sluiten alle ingevulde gegevens, om het
terug in zijn oorspronkelijke vorm te brengen. Het risico is dus groot dat
deze gegevens door onnadenkend handelen verwijdert worden.

Luc


fa023678

unread,
Jun 23, 2002, 1:17:33 AM6/23/02
to
hallo,

is het dit wat je zoekt?


Sub takteitvollers() 'vollers
Dim newrange As Range
'in het werkblad moscou-fax wordt een werkdeel gekozen om te kopieren in de
body van de mail
Set newrange = Sheets("Moscou-fax").Range("r7:y61")
Call createnewmail(newrange)
End Sub

Sub createnewmail(myrange As Range)
Dim bijlage As String: Dim mysubj As String: Dim myaddr As String
Dim objoutl As Object
Dim objmail As Object
Set objoutl = CreateObject("outlook.Application")
Set objmail = objoutl.CreateItem(0)
mysubj = "mysubject"
myaddr = "myadddress"
myrange.Copy
With objmail
.To = "sending to"
.cc = " cc"
.bcc = "bcc"
.Subject = mysubj
'.Body = "### auto-message ###"
SendKeys "{tab 3}"
SendKeys "^v"
'bijlage = "d:\data\traffic\douane_alg\Fax\temp.xls"
'.attachments.Add bijlage
.display
End With
Set objmail = Nothing
Set objoutl = Nothing
End Sub

fa023678

unread,
Jun 23, 2002, 1:23:31 AM6/23/02
to
hello again,
Een andere variante is : vaste tekst met bijlage

Sub copyformailsavinovrelease() 'shipment ready met bijlage
Dim r As String: Dim bijlage As String
AddNew
Workbooks("faxspecial.xls").Activate:

Sheets("Moscou-fax").Activate
Range("i2:p56").Select: Selection.Copy
Windows("temp.xls").Activate: Selection.PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Windows("temp.xls").Activate: Selection.PasteSpecial Paste:=xlFormats,
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False: ActiveWindow.DisplayGridlines = False:
Cells.Select
Selection.Interior.ColorIndex = xlNone
Range("A1").Select
ActiveWorkbook.Save

Dim objoutl As Object: Dim objmail As Object
Set objoutl = CreateObject("outlook.Application")
Set objmail = objoutl.CreateItem(0)

With objmail
.To = "to address"
.cc = "cc address
.bcc = "bcc adress"
.Subject = "Transport Moscou truck almost ready"
.Body = "Dear Sirs," & vbCr & vbCr _
& vbCr & " concerning your transport to Moscou " & vbCr _
& " Goods are ready for shipment free for EC and will released after payment
of the invoice." & vbCr _
& " Attachement : one xls-file -temp.xls- with furter details concerning
the transport. " & vbCr & vbCr _
& vbCr & vbCr & " Kind regards," & vbCr & vbCr & " Jan " & vbCr _
& " ." & vbCr & vbCr & vbCr & vbCr


bijlage = "d:\data\traffic\douane_alg\Fax\temp.xls"
.attachments.Add bijlage

.display '### .send voor onmiddellijk verzenden


End With
Set objmail = Nothing
Set objoutl = Nothing

Exit Sub
End Sub

Luc Heyndrickx

unread,
Jun 22, 2002, 11:22:38 AM6/22/02
to
Deze macro schijnt te werken.
Als ik hem in een nieuw excel-bestand plaats, en ik voer hem uit, dan lukt
het.
Plaats ik hem in het excel-bestand waarvoor hij moest dienen, dan lukt het
ook als ik hem afzonderlijk uitvoer.
Als ik hem echter laat werken als onderdeel van een grotere macro, dan werkt
het niet. Er wordt wel een nieuwe mail aangemaakt, het onderwerpveld én de
geadresseerden wordt ingevuld, maar het te verzenden bericht blijft weg.
Als ik die grotere macro uitvoer tot aan deze nieuwe macro, en daarna
afzonderlijk deze nieuwe macro start, dan lukt het weer wel.

Ik weet totaal niet waar ik fout zit. In elk geval toch maar bedankt, want
deze macro werkt onder andere omstandigheden.

Luc

"fa023678" <fa02...@skynet.be> schreef in bericht
news:3D1559ED...@skynet.be...

0 new messages