【发布时间】:2017-07-19 22:24:25
【问题描述】:
我正在尝试使电子邮件自动化,但是当我尝试从列表框发送行时遇到问题;我尝试了几种不同的方法,但都没有接近工作。另外,我不知道如何使用该列。我目前正试图让它通过
Dim listboxarr()
Dim i As Integer
For i = 1 To 500
' v this is a listbox
With selecteditems
listboxarr(1) = .List(i, 1)
End With
Next i
这段代码把我扔了:
订阅超出范围
这是电子邮件的代码:
Private Sub addcb_Click()
Dim iCtr As Long
For iCtr = 0 To Me.allitems.ListCount - 1
If Me.allitems.Selected(iCtr) = True Then
Me.selecteditems.AddItem Me.allitems.List(iCtr)
End If
Next iCtr
For iCtr = Me.allitems.ListCount - 1 To 0 Step -1
If Me.allitems.Selected(iCtr) = True Then
Me.allitems.RemoveItem iCtr
End If
Next iCtr
End Sub
Private Sub removecb_Click()
Dim iCtr As Long
For iCtr = 0 To Me.selecteditems.ListCount - 1
If Me.selecteditems.Selected(iCtr) = True Then
Me.allitems.AddItem Me.selecteditems.List(iCtr)
End If
Next iCtr
For iCtr = Me.selecteditems.ListCount - 1 To 0 Step -1
If Me.selecteditems.Selected(iCtr) = True Then
Me.selecteditems.RemoveItem iCtr
End If
Next iCtr
End Sub
Private Sub CommandButton1_Click()
Dim listboxarr()
Dim i As Integer
For i = 1 To 500
' v this is a listbox
With selecteditems
listboxarr(1) = .List(i, 1)
End With
Next i
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
.to = "Someone"
.CC = "Someone else"
.BCC = ""
.Subject = "Something"
.Body = listboxarr(1)
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Private Sub UserForm_Initialize()
Dim itemsheet As Worksheet
Set itemsheet = Application.ActiveWorkbook.Sheets(6)
For Each itemname In itemsheet.Range("C2:C3285")
With Me.allitems
.AddItem itemname.Value
End With
Next itemname
End Sub
【问题讨论】:
-
能否请您按顺序发布整个内容
-
您的列表框中有多少列?
-
@Nathan_Sav 我只有一栏
-
@Nathan_Sav 这个更好吗?
-
您还没有标注
listboxarr。在声明变量时执行此操作,或者使用 Redim 是预先不知道大小的。