设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2038|回复: 0
打印 上一主题 下一主题

关于Infopath的3种Email发送功能

[复制链接]
跳转到指定楼层
1#
发表于 2008-9-26 10:34:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
公司需要回报每天服务器的状态,写了一个infopath的表单放在了sharpoint的上面,每天我们去写,然后数据保存到sharpoint中,最后发送一份email报告给老板。
其实很简单,一个按钮里面submit2个动作:1、tosharepoint 2、email把这个两个数据源就好了。
但是这样发送email后只能是给出一个附件(当前报告的xml文件)
如果是察看者当时没有infopath就无法打开这个文件。
想个办法将他写一个摘要信息放到email的body里面。
使用
var objEmailAdapter;
objEmailAdapter = XDocument.DataAdapters("email_submit");
这样便可以自定义发送的东西
但是没有办法发送html文本。
于是查找资料,国内的几乎没有,到google的论坛上看,好像这个功能只能在2k7中实现。
不过查到了另外一个方法:使用 var objEmail = Application.ActiveWindow.MailEnvelope;
它可以将表单变成email的body填写之后他就抓出当时保存的数据发送,而且还可以写备注信息(可以加上超文本标记)比较爽!
但是还有一个问题就是3个方法都没有办法强行让客户发送电子邮。如果有人清楚如何操作请指点。
方法一:直接使用按钮中的规则,确认传输数据源(sumbit data connection)。
方法二:使用script,
var objEmailAdapter;
objEmailAdapter = XDocument.DataAdapters("email_submit");
objEmailAdapter.Subject = emailSubject;
objEmailAdapter.Intro = emailContent;
objEmailAdapter.Submit();
方法三:使用var objEmail = Application.ActiveWindow.MailEnvelope
var objEmail = Application.ActiveWindow.MailEnvelope;
objEmail.To = "email@email.com "
objEmail.Subject="Subject";
objEmail.Visible=true;
PS: 如何取infopath数据
XDocument.DOM.setProperty("SelectionNamespaces", 'xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2006-06-07T07:30:55"');//这个申明是在外面
emailSubject = XDocument.DOM.selectSingleNode("//my:myFields/my:Subject").text;
但是有一点疑惑,在sdk的example中没有使用//也没有使用my而是直接
('/myFields/Subject')在他的程序中我运行没有错误,我在自己的表单里面总是报告找不到对象。
真是不知道是什么。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 17:10 , Processed in 0.102255 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表