Добрый день! Есть код создания подписи в outlook, где строки для подписи берутся из ячеек. Надо сделать так, чтобы данные, которые берутся из ячейки B1 были жирного шрифта. И надо еще вставить картинку внутри строк. Т.е. надо куда-то вставить, что-то подобное:
Скрытый текст
Range("B1" ;) .Select Selection.Font.Bold = True только вот куда
Sub SendMail() Dim OutApp As Object Dim OutMail As Object Set OutApp = GetObj OutApp.Session.Logon On Error GoTo cleanup Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = "" 'кому .Subject = "" 'тема .Body = vbCrLf & strFindBody 'текст письма '.Attachments.Add 'вложение .Display End With On Error GoTo 0 Set OutMail = Nothing cleanup: Set OutApp = Nothing End Sub
Public Function GetObj() As Object Dim i& On Error Resume Next For i = 20 To 8 Step -1 Set GetObj = CreateObject("Outlook.Application." & i) If Not (GetObj Is Nothing) Then Exit For Next On Error GoTo 0 End Function
Public Function strFindBody$() Dim i&, lR&, sUserName$ sUserName = Application.UserName With Sheets(1) lR = .Cells(.Rows.Count, 1).End(xlUp).Row For i = 2 To lR If .Cells(i, 1).Value = sUserName Then strFindBody = Join(Application.Transpose(Application.Transpose(.Cells(i, 2).Resize(, 10).Value)), vbCrLf) Exit For End If Next End With End Function
Natalli01 пишет: .Body = vbCrLf & strFindBody 'текст письма
насколько помню, у объекта Mail есть два способа задания тела письма: а) текст б) html body вроде как отвечает за текст. Хотя, точно утверждать не стану, надо читать справку.
Цитата
Natalli01 пишет:
Код
Public Function GetObj() As Object
Dim i&
On Error Resume Next
For i = 20 To 8 Step -1
Set GetObj = CreateObject("Outlook.Application." & i)
If Not (GetObj Is Nothing) Then Exit For
Next
On Error GoTo 0
End Function
я делал так
Код
Set Outlook = GetApp("Outlook.Application.14")
If Outlook Is Nothing Then
Set Outlook = GetApp("Outlook.Application")
End If
If Outlook Is Nothing Then
MsgBox "Невозможно создать экземпляр приложения Outlook", vbExclamation
Exit Sub
End If
' ----------------------------------
Public Function GetApp(ByVal AppName As String) As Object
Dim App As Object
On Error Resume Next
Set App = GetObject(, AppName)
If App Is Nothing Then
Set App = CreateObject(AppName)
End If
On Error GoTo 0
Set GetApp = App
End Function
Саша, привет! Я делал вариант с циклом определения версии для страховки, т.к. если установлено сразу несколько офисов - возможно, что Аутлук не сможет создаться, если писать просто CreateObject("Outlook.Application") и выпадет с ошибкой.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?