Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Tsql 如何将一列电子邮件地址从sql server报表导出到Outlook';s:field?_Tsql_Email_Visual Studio 2012_Outlook_Business Intelligence - Fatal编程技术网

Tsql 如何将一列电子邮件地址从sql server报表导出到Outlook';s:field?

Tsql 如何将一列电子邮件地址从sql server报表导出到Outlook';s:field?,tsql,email,visual-studio-2012,outlook,business-intelligence,Tsql,Email,Visual Studio 2012,Outlook,Business Intelligence,我希望在我发布的报告中添加一个按钮,将报告特定列中的所有电子邮件地址直接导出到outlook,并将其放置在电子邮件的“收件人:”字段中 我的报表是通过Visual Studio 2012使用Business Intelligence Services报表创建的,它基于t-sql中的一系列存储过程来创建唯一的参数化子报表 到目前为止,我找到的每个援助来源都已从excel文件导出到Outlook,但我希望直接从报告中导出 非常感谢您的帮助:)您只需在项目中添加对Outlook对象模型COM对象或互操

我希望在我发布的报告中添加一个按钮,将报告特定列中的所有电子邮件地址直接导出到outlook,并将其放置在电子邮件的“收件人:”字段中

我的报表是通过Visual Studio 2012使用Business Intelligence Services报表创建的,它基于t-sql中的一系列存储过程来创建唯一的参数化子报表

到目前为止,我找到的每个援助来源都已从excel文件导出到Outlook,但我希望直接从报告中导出


非常感谢您的帮助:)

您只需在项目中添加对Outlook对象模型COM对象或互操作程序集(位于 例如,“C:\Program Files(x86)\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Outlook.dll”)

然后,您可以创建Outlook.Application对象的实例,并调用Application.CreateItem以获取MailItem对象。使用MailItem.To添加电子邮件地址

Application.CreateItem方法:

从其他Office应用程序自动化Outlook:

请注意,调用MailItem.Send可能会显示警告。有关安全注意事项,请参见此:


因此,我发现的另一个可能的解决方案是将文本框链接到操作,并使用mailto:action

首先,我创建了一个可以包含多个值的参数。我用拉入报告的电子邮件字段的内容填充参数

然后我通过文本框操作进行编辑。通过将第一个地址放在“收件人:”字段中,将剩余的电子邮件地址放在“密件抄送:”字段中,这就完成了我想要做的事情。它看起来有点像:

="MailTo:" & First(Fields!email.Value, "DataSet1") & "?bcc=" & replace(join(Parameters!EmailList.Value, ","), (First(Fields!email.Value, "DataSet1") + ","), "")

为了进一步大致解释它的作用,我的员工可以选择不提供电子邮件地址。我在后端将所有这些值从null改为空格,并选择允许参数为空格。join创建了一个以逗号分隔的电子邮件地址列表,replace既删除了一封空白的电子邮件,也删除了列表中的第一个电子邮件地址,这样我就不会给那个人发送双重电子邮件

我相信这最终会成为我的解决方案,但是,唉,我没有足够的声誉投票给我这个答案。非常感谢你的帮助!不客气!天哪,我没想到海报连自己问题的答案都不能投票!可悲的是,直到我们打到了代表15,我才差一点,但在最后一分钟被否决了,没有足够的票数给你们我的答案