2016-03-03 7 views
1

Я пытаюсь написать код VBA в Excel, который будет создавать сообщение Outlook, который содержит:Excel VBA для Outlook: Ошибка Типа Несовпадение

  1. текста в теле
  2. стол
  3. сигнатуры внизу.

Ниже приведен код, который я написал. Он работал до тех пор, пока я не добавил объект Excel Table к телу сообщения. Появляется сообщение об ошибке:

Run-time error: error type 13, Type Mismatch".

Может кто-то помочь с моим кодом ниже?

Sub send() 
    Dim OApp As Object, OMail As Object, signature As String 
    Dim TOEMAIL As Range 
    Dim CCMEMAIL As Range 
    Dim SUBJECT As Range 
    Dim Workbook As Range 
    Dim Table As Range 


    Set TOEMAIL = Sheets("Macro").Range("D6") 
    Set CCEMAIL = Sheets("Macro").Range("D7") 
    Set SUBJECT = Sheets("Macro").Range("D8") 
    Set Workbook = Sheets("Macro").Range("D5") 
    Set Table = Sheets("Sheet1").Range("B7:B17") 

    Set OApp = CreateObject("Outlook.Application") 
    Set OMail = OApp.CreateItem(0) 
    With OMail 
    .Display 
    End With 

    signature = OMail.body 
    With OMail 
    .To = TOEMAIL 
    .CC = CCEMAIL 
    .SUBJECT = SUBJECT 
    .Attachments.Add (Workbook) 
    .body = "Hello, this is a test." & vbNewLine & Table & vbNewLine & signature & vbNewLine 
    End With 
    Set OMail = Nothing 
    Set OApp = Nothing 
End Sub 
+1

Я предлагаю посмотреть этот сайт: http://www.rondebruin.nl/win/s1/outlook/mail.htm –

ответ

0

MailItem.Body Недвижимость ожидает строку. Вы пытаетесь объединить несколько строк и объект Range. Вы несете ответственность за извлечение соответствующих данных из этой таблицы и представление ее в виде строки.

Возможно, вам лучше создать таблицу HTML и установить для нее свойство MailItem.HTMLBody.

+0

Спасибо всем. Учитывая, что я все еще изучаю VBA, есть ли кто-нибудь заинтересован в том, чтобы показать мне, как это сделать за небольшую плату? ... скажем, 10 долларов. Дай мне знать. Пожалуйста, напишите мне свой адрес электронной почты, и я пришлю вам файл, который я создал. Благодаря! – RobL

Смежные вопросы