2013-06-21 2 views
2

У меня есть этот код VBA:ComboBoxes Заполнение VBA

Sub sendByCustomForm() 
Dim olItem As Outlook.MailItem 
Dim sText As String 

If Application.ActiveExplorer.Selection.Count = 0 Then 
    MsgBox "No Items selected!", vbCritical, "Error" 
    Exit Sub 
End If 

For Each olItem In Application.ActiveExplorer.Selection 
    sText = olItem.Body 

    Set msg = Application.CreateItemFromTemplate("C:\myCustomForm.oft") 
    MsgBox sText, vbInformation, "alert" 

    With msg 
     'Set body format to HTML 
     .BodyFormat = Outlook.OlBodyFormat.olFormatHTML 
     .HTMLBody = "<HTML><BODY>" + sText + "</BODY></HTML>" 
     .Display 
    End With 
Next olItem  
End Sub 

Этот шаблон имеет 2 ComboBoxes, что я хочу, чтобы заполнить, но как я могу это сделать?

Когда я пытаюсь это:

msg.ComboBox1.AddItem "item" 

это не работает ...

ответ

1

Попробуйте это:

'For Access 
msg.ComboBox1.RowSource = msg.ComboBox1.Rowsource & ";'item'" 

Update:

With ComboBox   
.AddItem "Option 1"   
.AddItem "Option 2"   
.AddItem "Option 3" 
End With 
+0

такая же ошибка: «объект не поддерживает это свойство или метод» =/ –

+0

Мне было любопытно, поэтому я начал читать. В нем говорится использовать с/end для combobox и additem. Я делал это с Access, думая, что он может работать так же. Возможно, попробуйте отредактированный код. – Grant

+0

Ошибка времени выполнения '424': объект, требуемый в .AddItem «Вариант 1» –

1
Sub emailfromexcel() 
Dim OutApp As Object 
Dim OutMail As Object 
Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 
With OutMail 
    .To = "[email protected]" 
    .BCC = thebcc 
    .Subject = "This subject" 
    .Body = "This body" 
    .Display 
    .Send 
End With 
Set OutMail = Nothing 
Set OutApp = Nothing 
End Sub