Millaisella makrolla saisin kopioitua taulukosta alueen A1:N4 suoraan outlookkiinm viestiksi?
Voiko otsikon kirjoittaa myös suoraan makroon
Voiko otsikon kirjoittaa myös suoraan makroon
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 9
Vanhimmat
Ai, miksi pitäisi olla makro? Eikö vain riitä että maalat haluamasi alueen, kopioit sen (ctrl c), liität sen sähköpostiin haluamaasi kohtaan (ctrl v). Se näkyy sähköpostin tekstissä taulukkomuodossa.
Jos siinä pitäisi säilyä myös mahdolliset laskukaavat, niin eiköhän se silloin pidä laittaa liitetiedostona.
Niin, juttu on vaan niin että, kun pyörittää talukkoa tähän asti marolla, voisi sen viedä loppuun saakka. Liittee lisääminen onnistuisi, mutta tämä ei olisi nyt ratkaisu. Olisiko ajatuksia toteutukseen....
Range("A1:N4").Copy
Empä onnistunut tuota liittämään viestiksi. Yhden solun tieto kyllä onnistuu.
Tuollaisesta alkuun:
Sub Mail_Outlook()
Dim OutApp As Object
Dim OutMail As Object
MailTo = Cells(1,2).Value
MailSubject = Cells(2,2).Value
MailBody = Cells(3,2).Value
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(o)
With OutMail
.Subject = MailSubject
.To = MailTo
.body = MailBody
.Display
'.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Vähän jatkettu versio:
Sub Mail_Outlook()
Dim OutApp As Object
Dim OutMail As Object
Dim s As String
s = ""
MailTo = "etu.suku@osoite.fi"
MailSubject = "Koelähetys"
For r = 1 To 4
For c = 1 To 14
s = s Cells(r, c) & Chr(9)
Next c
s = s Chr(13)
Next r
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(o)
With OutMail
.Subject = MailSubject
.To = MailTo
.body = s
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Hienoa. Tätä juuri tarkoitan.
Kuinka sitten saisin kasvatettua aluetta niin, että viesti olisi Esim Range(cells(1,1),cells(viimr,viims)) kokoinen
Ja niin että excelin muotoilut vielä säilyisivät
Noh, näinhän tämä menee. Kiitokset avustajille
Private Sub Mail_Outlook()
viimr = Cells.SpecialCells(xlCellTypeLastCell).Row 'viimeinen rivi
viims = Cells.SpecialCells(xlCellTypeLastCell).Column 'viimeinen sarake
Range(Cells(1, 1), Cells(viimr, viims)).Copy
Dim OutApp As Object
Dim OutMail As Object
Dim s As String
MailTo = "etu.suku@osoite.fi"
MailSubject = "Koelähetys"
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(o)
With OutMail
.Subject = MailSubject
.To = MailTo
.body = ""
.Display
End With
SendKeys "^v"
Set OutMail = Nothing
Set OutApp = Nothing
End Sub