+ Reply to Thread
Results 1 to 3 of 3

Save range and send as outlook email

  1. #1
    Registered User
    Join Date
    09-26-2012
    Location
    Denmark
    MS-Off Ver
    Excel 2007
    Posts
    3

    Save range and send as outlook email

    I'm am trying to write a VBA macro to copy a range from my WB, with alot of external sources and macros from other WB's, this is giving my a lot of trouble when running my VBA macro:

    Sub Mail_Range()
    ' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
    Dim Source As Range
    Dim Dest As Workbook
    Dim wb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim OutApp As Object
    Dim OutMail As Object

    Set Source = Nothing
    On Error Resume Next
    Set Source = Range("A1:K50").SpecialCells(xlCellTypeVisible)
    On Error GoTo 0

    If Source Is Nothing Then
    MsgBox "The source is not a range or the sheet is protected. " & _
    "Please correct and try again.", vbOKOnly
    Exit Sub
    End If

    With Application
    .ScreenUpdating = False
    .EnableEvents = False
    End With

    Set wb = ActiveWorkbook
    Set Dest = Workbooks.Add(xlWBATWorksheet)
    Source.Copy
    With Dest.Sheets(1)
    .Cells(1).PasteSpecial Paste:=8
    .Cells(1).PasteSpecial Paste:=xlPasteValues
    .Cells(1).PasteSpecial Paste:=xlPasteFormats
    .Cells(1).Select
    Application.CutCopyMode = False
    End With

    TempFilePath = Environ$("temp") & "\"
    TempFileName = "Selection of " & wb.Name & " " _
    & Format(Now, "dd-mmm-yy h-mm-ss")

    If Val(Application.Version) < 12 Then
    ' You are using Excel 2000 or 2003.
    FileExtStr = ".xls": FileFormatNum = -4143
    Else
    ' You are using Excel 2007 or 2010.
    FileExtStr = ".xlsx": FileFormatNum = 51
    End If

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    With Dest
    .SaveAs TempFilePath & TempFileName & FileExtStr, _
    FileFormat:=FileFormatNum
    On Error Resume Next
    With OutMail
    .To = ""
    .CC = ""
    .BCC = ""
    .Subject = ""
    .Body = ""
    .Attachments.Add Dest.FullName
    ' You can add other files by uncommenting the following statement.
    '.Attachments.Add ("C:\test.txt")
    ' In place of the following statement, you can use ".Display" to
    ' display the e-mail message.
    .Send
    End With
    On Error GoTo 0
    .Close SaveChanges:=False
    End With

    Kill TempFilePath & TempFileName & FileExtStr

    Set OutMail = Nothing
    Set OutApp = Nothing

    With Application
    .ScreenUpdating = True
    .EnableEvents = True
    End With
    End Sub
    When running the macro in a isolated sheet with plain data, there is no problems what so ever. However when running the macro in the intended WB it bugs out, giving me this error message:

    Run-time Error '1004'

    Parts of the merged cells cannot be changed


    How do I work around this problem?

  2. #2
    Forum Guru TMS's Avatar
    Join Date
    07-15-2010
    Location
    The Great City of Manchester, NW England ;-)
    MS-Off Ver
    MSO 2007,2010,365
    Posts
    44,447

    Re: Save range and send as outlook email

    Parts of the merged cells cannot be changed
    You don't say what line is highlighted when it crashes, but I'm guessing:

    Please Login or Register  to view this content.

    Simple answer: lose the merged cell(s).

    Regards, TMS
    Trevor Shuttleworth - Retired Excel/VBA Consultant

    I dream of a better world where chickens can cross the road without having their motives questioned

    'Being unapologetic means never having to say you're sorry' John Cooper Clarke


  3. #3
    Registered User
    Join Date
    09-26-2012
    Location
    Denmark
    MS-Off Ver
    Excel 2007
    Posts
    3

    Re: Save range and send as outlook email

    If I want to be able to copy the merged cells into the attachment in the mail, what actions would that aquire?

    Regards, Hejbeiter

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

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

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1