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
Groeten,
Henk
>-----Oorspronkelijk bericht-----
>.
>
Ontvangers = Array("na...@xyz.com", "na...@xyz.com")
ActiveWorkbook.SendMail Recipients:=Ontvangers, Subject:="
Naam onderwerp"
Succes
Daniel
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
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
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
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...