Úprava kódu

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

barunkabro
nováček
Příspěvky: 1
Registrován: červen 19
Pohlaví: Žena
Stav:
Offline

Úprava kódu

Příspěvekod barunkabro » 12 čer 2019 09:18

Ahoj,

potřebovala bych poradit s tímto kódem na automatické vytvoření e-mailu v Excelu. Jelikož jsem úplný začátečník, potřebovala bych poradit, jak POD tu tabulku která se mi do mailu automaticky zkopíruje přidám další text. Je to možné?

Moc děkuji

Private Sub CommandButton3_Click()
Dim outlook As Object
Dim newEmail As Object
Dim xInspect As Object
Dim pageEditor As Object

Set outlook = CreateObject("Outlook.Application")
Set newEmail = outlook.CreateItem(0)

With newEmail
.To = Sheet4.Range("H1")
.CC = ""
.BCC = ""
.Subject = Sheet4.Range("D13")
.Body = Sheet4.Range("P23")
.display

Set xInspect = newEmail.GetInspector
Set pageEditor = xInspect.WordEditor

Sheet4.Range("B14:I15").Copy

pageEditor.Application.Selection.Start = Len(.Body)
pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)

.display
Set pageEditor = Nothing
Set xInspect = Nothing
End With

Set newEmail = Nothing
Set outlook = Nothing
End Sub

Reklama
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 162
Registrován: září 17
Pohlaví: Muž
Stav:
Offline

Re: Úprava kódu

Příspěvekod Grimm » 15 čer 2019 16:28

Ahoj, napadlo mě toto řešení. Zpráva v těle mailu bude rozdělena na dvě části, které se vloží současně a mezi ně se poté vloží zkopírovaná "tabulka".

Kód: Vybrat vše


Private Sub CommandButton3_Click()
Dim outlook As Object
Dim newEmail As Object
Dim xInspect As Object
Dim pageEditor As Object
Dim TextNadTabulkou As String
Dim TextPodTabulkou As String

Set outlook = CreateObject("Outlook.Application")
Set newEmail = outlook.CreateItem(0)

TextNadTabulkou = Sheet4.Range("P23")
TextPodTabulkou = Sheet4.Range("P24")

With newEmail
    .To = Sheet4.Range("H1")
    .CC = ""
    .BCC = ""
    .Subject = Sheet4.Range("D13")
    .body = TextNadTabulkou & vbNewLine & TextPodTabulkou
    .display
   
    Set xInspect = newEmail.GetInspector
    Set pageEditor = xInspect.WordEditor
   
    Sheet4.Range("B14:I15").Copy
   
    With pageEditor.Application.Selection
        .Start = Len(TextNadTabulkou)
        .End = pageEditor.Application.Selection.Start
        .PasteAndFormat (wdFormatPlainText)
    End With
    Application.CutCopyMode = False
    .display
End With

Set pageEditor = Nothing
Set xInspect = Nothing
Set newEmail = Nothing
Set outlook = Nothing
End Sub



  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti