我打算在打开“我的文档”时添加多个文件。我目前有一个命令按钮,当单击时,文件对话框窗口打开。
我能够尽可能多地选择,但是当它通过电子邮件发送到地址时,它只显示2个附件,第一个是电子表格上的表单,第二个是从文件对话框窗口中选择的文件。
如何在电子邮件中添加2个以上的附件?
我尝试过使用For循环,因此可能有很多附件,但这不起作用。
请参阅下文。
Sub SbExtra_Attachment()
'mssgbox do you have another attachment to add ?
Response = MsgBox(prompt:="Do you have any other attachments? 'Yes' or 'No'.", Buttons:=vbYesNo)
If Response = vbYes Then
Set fd = Application.FileDialog(msoFileDialogOpen)
fd.AllowMultiSelect = True
If fd.Show = -1 Then
For i = 1 To fd.SelectedItems.Count
StrFile = fd.SelectedItems(i)
Next i
End If
Else
End If
End Sub
以上目前最多只附加2个文件。
答案 0 :(得分:1)
继续前进并做出回答因为我有信心!
也许StrFile = StrFile & ", " & fd.SelectedItems(i)
。因为StrFile
将始终在循环中被覆盖而不是将它们堆叠起来。不确定该逗号是否是正确的分隔符,但我认为它可以正常工作
修改强>
看起来文件选择器不会用逗号分隔,它会将它们放在引号中。所以你可能需要StrFile = """" & StrFile & """ """ & fd.SelectedItems(i) & """"
。此代码将包含一个前导""
,但如果StrFile事先不为空,那么如果循环完成后If Left(StrFile, 3) = """"" " Then StrFile = Right(StrFile, len(StrFile) - 3)
就是这种情况,则必须删除前三个字符。