Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 所附Excel文档为空_Vba_Excel - Fatal编程技术网

Vba 所附Excel文档为空

Vba 所附Excel文档为空,vba,excel,Vba,Excel,我在Excel中创建了一个表单,通过电子邮件发送到特定的分发版,但是当它作为电子邮件发送时,所有数据都会丢失 我发现了一个线程,它告诉我需要添加编码来告诉它保存用户的数据。我找不到如何添加这个 Sub Sendit() Dim OutlookApp作为对象 Dim Mess作为对象,Recip作为字符串 将wb1设置为工作簿 设置OutlookApp=CreateObject(“Outlook.Application”) 设置Mess=OutlookApp.CreateItem(olMailIt

我在Excel中创建了一个表单,通过电子邮件发送到特定的分发版,但是当它作为电子邮件发送时,所有数据都会丢失

我发现了一个线程,它告诉我需要添加编码来告诉它保存用户的数据。我找不到如何添加这个

Sub Sendit()
Dim OutlookApp作为对象
Dim Mess作为对象,Recip作为字符串
将wb1设置为工作簿
设置OutlookApp=CreateObject(“Outlook.Application”)
设置Mess=OutlookApp.CreateItem(olMailItem)
乱七八糟
.To=”user@email.co.uk"
.BCC=范围(“I12”).值
.Subject=“一个新的好主意已经提交”
.Body=“附加了一个新的好主意。”
.Attachments.Add ThisWorkbook.FullName
.发送
MsgBox“感谢您分享您的好主意。我们的好主意会议召开后,将立即与您联系,并提供迄今为止的最新进展”
以
端接头

要使用.Attachmets.Add函数,必须先将工作簿保存到文件系统中

您可以使用类似的方式自动保存,而无需用户交互/确认(需要在Outlook发送代码之前进行)-

Application.DisplayAlerts = False 'DISABLE ALERT PROMPT

Dim BookName 
BookName = Range("A1").Value 'for example

'SAVES FILE USING THE VARIABLE BookName AS FILENAME
ActiveWorkbook.SaveAs Filename:="C:\Data\" & BookName, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

Application.DisplayAlerts = True 'RESETS DISPLAY ALERTS