Úprava kódu

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

Moderátor: Mods_senior

Odpovědět
barunkabro
nováček
Příspěvky: 1
Registrován: 12 čer 2019 09:12

Úprava kódu

Příspěvek od barunkabro »

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
Uživatelský avatar
Grimm
Level 2
Level 2
Příspěvky: 165
Registrován: 30 zář 2017 20:50

Re: Úprava kódu

Příspěvek od Grimm »

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

Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Úprava pc pro Kingdome Come Deliverance 2
    od barryk10cz » » v Rady s výběrem hw a sestavením PC
    13 Odpovědi
    5557 Zobrazení
    Poslední příspěvek od Hangli
  • bitmapová grafika - úprava fotografií, retuše, filtry.
    od zuzana3 » » v Design a grafické editory
    2 Odpovědi
    7795 Zobrazení
    Poslední příspěvek od zuzana3
  • Oficiální úprava Windows 11 do podoby klasických Windows (Windows 7)
    od IMB » » v Windows 11, 10, 8...
    4 Odpovědi
    29274 Zobrazení
    Poslední příspěvek od zeus

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