使用FileDialog在Excel上select多个文件

我打开“我的文档”时尝试添加多个文件。 我目前有一个命令button,当点击文件对话框窗口打开。

我可以尽可能多地select,但是当它通过电子邮件发送到地址时,它只显示2个附件,第一个是电子表格上的表格,第二个是从文件对话窗口中select的文件。

我如何在电子邮件中添加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个文件。

继续前进吧,因为我有信心!

也许StrFile = StrFile & ", " & fd.SelectedItems(i) 。 因为StrFile将始终在循环中被覆盖,而不是叠加起来。 不知道这个逗号是否是正确的分隔符,但我认为它会起作用

编辑

它看起来像文件select器不用逗号分隔,它把它们放在引号。 所以你可能需要它是StrFile = """" & StrFile & """ """ & fd.SelectedItems(i) & """" 。 如果StrFile事先不是空的,那么这个代码将会包含一个前导"" ,所以如果这是If Left(StrFile, 3) = """"" " Then StrFile = Right(StrFile, len(StrFile) - 3)的情况,那么你将不得不放弃前导3个字符If Left(StrFile, 3) = """"" " Then StrFile = Right(StrFile, len(StrFile) - 3)