• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

screenshot userform maken en mailen via outlook

Status
Niet open voor verdere reacties.

Rogier1978

Gebruiker
Lid geworden
1 jul 2021
Berichten
8
Goedenmiddag

ik heb een vraag om een screenshot van een userform in excel te maken en deze screenshot mailen via outlook.
Ik heb deze code ooit in het verleden van iemand gehad en gebruikt in een excel file. ik wilde deze code in een nieuwe file gebruiken maar krijg een aantal foutmelding die ik niet begrijp.

Ik krijg een melding waarbij Keybd_events is gearceerd met de opmerking "compile error sub or function not defined. De code staat de uerform opgeslagen en wordt opgeroepen via een commandbutten.
Ik heb de volledige code gekoppieerd van uit de vorige macro.


Code:
'keybd_event VK_SNAPSHOT, 0, 0, 0
 DoEvents
 keybd_event VK_LMENU, 0, _
 KEYEVENTF_EXTENDEDKEY, 0 ' key down
 keybd_event VK_SNAPSHOT, 0, _
 KEYEVENTF_EXTENDEDKEY, 0
 keybd_event VK_SNAPSHOT, 0, _
 KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
 keybd_event VK_LMENU, 0, _
 KEYEVENTF_EXTENDEDKEY + KEYEVENTF_KEYUP, 0
 DoEvents
 
Dim OutApp As Object
 Dim OutMail As Object

 'Shift-Print Screen
 Application.SendKeys "(%{1068})"

 On Error Resume Next

 'Prepare the email
 Set OutApp = CreateObject("Outlook.Application")
 OutApp.Session.Logon
 Set OutMail = OutApp.CreateItem(0)

 On Error Resume Next

 With OutMail
        .To = "mailadres"
        .CC = ""
        .BCC = ""
        .Subject = "Digitale overdracht Cluster BOW - Sub-cluster 2 - Col 21 & 22"

 Application.SendKeys "(^v)"

 End With
 On Error GoTo 0

 OutApp.Session.Logoff
 Set OutMail = Nothing
 Set OutApp = Nothing
 
Laatst bewerkt door een moderator:
Probeer deze eens:
Code:
Private Sub CommandButton1_Click()
    Application.SendKeys "(%{1068})"
    DoEvents
    With CreateObject("Outlook.Application").CreateItem(0)
        .Display
        Set doc = .GetInspector.WordEditor
        doc.Range(0, 0).Paste
        .To = "mailadres"
        .Subject = "Digitale overdracht Cluster BOW - Sub-cluster 2 - Col 21 & 22"
    End With
End Sub
 
Laatst bewerkt:
Kan ook simpel; zonder macro.

Open je formulier en vul eea in.
Vul in je adresbalk onderin links in "Knipprogramma " en open dit. Kies Bestand/Nieuw en sleep over het deel dat je wilt kopiëren. Kies daarna Verzenden/Email geadresseerde...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan