Results 1 to 5 of 5

Thread: Strange behavior and errors I think ?????

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    VBAX Regular
    Joined
    Jan 2018
    Posts
    54
    Location

    Strange behavior and errors I think ?????

    I run Windows 10 FULLY updated and MSOffice 365 HOME - just updated as you can see in the text below.

    I have cooked up this VBA code to send a part of the sheet as a outlook mail ... and it kind of works:

    Sub SendNamedRangeAsPictureInBody()
        Dim OutlookApp As Object
        Dim OutlookMail As Object
        Dim WordEditor As Object
        Dim ws As Worksheet
        Dim strRange As String
        Dim rng As Range
        Dim InlineShape As Object
    
        ' Define your sheet and named range here
        Set ws = ThisWorkbook.Sheets("Bla Bla")
        strRange = "ToBookKeeping"
        
        ' Get the range
        Set rng = ws.Range(strRange)
    
        ' Copy the range as a picture
        rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    
        ' Create the Outlook application and email
        Set OutlookApp = CreateObject("Outlook.Application")
        Set OutlookMail = OutlookApp.CreateItem(0)
    
        ' Construct the email
        With OutlookMail
            .To = "BookKeepersMailAddress"
            .Subject = "Hjemmeladning for den angivne periode !"
            
    
            ' Get the Word editor for the email and paste the image
            Set WordEditor = OutlookMail.GetInspector.WordEditor
            WordEditor.Content.Paste
            
            ' Access the last pasted inline shape (the picture) and resize it
            Set InlineShape = WordEditor.InlineShapes(WordEditor.InlineShapes.Count)
            InlineShape.LockAspectRatio = msoFalse
            InlineShape.Width = InlineShape.Width * 2 ' Double the width
            InlineShape.Height = InlineShape.Height * 2 ' Double the height
                
            WordEditor.Content.InsertAfter vbCrLf & vbCrLf '& vbCrLf
        
            ' Add additional text or formatting here if needed
            WordEditor.Content.InsertAfter "Fortsat god dag !" & vbCrLf & "TEAM SUPPORT"
        
            
            .Display    ' Display the email before sending
            '.Send       '  At sende giver FEJL !!!!!!!!!!!!!!!
    
        End With
    
        ' Clean up
        Set ws = Nothing
        Set rng = Nothing
        Set OutlookMail = Nothing
        Set OutlookApp = Nothing
        Set WordEditor = Nothing
        Set InlineShape = Nothing
       
    End Sub

    In my FIRST try it worked really nicely BUT ONLY as a .DISPLAY of the mail !!!!
    I had to manually click on the SEND button to send it !


    If I used the .SEND command instead of .Display I got this error:

    "Invalid procedure call or argument"

    in the .Send line !


    OK, I then tried to search out there and found others with the same problem and they were adviced to update MSOffice (and thereby Outlook) and so I did ...
    and now I just have DIFFERENT error in the line:

    Set WordEditor = OutlookMail.GetInspector.WordEditor


    the error is: Run-time error '-2147467259 (80004005)'


    What the *BEEP* is wrong here - try the attached Excel file ... but put you OWN mail address in it ?

    (PS: I know I asked in another forum ... but no one answers there . then you have to ask some other people !)
    Attached Files Attached Files
    Last edited by ksor; 08-20-2024 at 01:14 AM. Reason: Attaching a file

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •