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.
0Äänestä
Juuomu
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....
0Äänestä
Käykötämä
Range("A1:N4").Copy
0Äänestä
juuomu
Empä onnistunut tuota liittämään viestiksi. Yhden solun tieto kyllä onnistuu.
0Äänestä
3points
Tuollaisesta alkuun:
Sub Mail_Outlook() Dim OutApp As Object Dim OutMail As Object
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
0Äänestä
Tämmöinen
Vähän jatkettu versio:
Sub Mail_Outlook() Dim OutApp As Object Dim OutMail As Object Dim s As String s = "" MailTo = "[email protected]" 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
0Äänestä
juuomu
Hienoa. Tätä juuri tarkoitan. Kuinka sitten saisin kasvatettua aluetta niin, että viesti olisi Esim Range(cells(1,1),cells(viimr,viims)) kokoinen
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 = "[email protected]"
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 = "[email protected]"
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