让我们先来看看InfoPath 2007提供的其他几种发布方案:
1. 将InfoPath模板发布到SharePoint Server或者InfoPath Form Server
2. 将InfoPath模板制作成一个安装程序
3. 将InfoPath模板发布到一个共享网络地址上
方案1,3 都必须依赖已有服务器或网络,而方案2 则必须在用户填写InfoPath表单前使用这个安装程序安装相应的表单模板,对于普通用户而言,这恐怕是个大麻烦。其实用户最希望使用的InfoPath表单是那种双击之后马上可以填写的,而不是让用户负责“部署”表单模板!
本方案之所以说是基于电子邮件的是因为其中涉及到的InfoPath表单和InfoPath表单模板都是作为邮件的附件发给客户的,用户打开该邮件时,表单会自动去调用邮件中的模板,这样就做到了免安装。虽然这听上去很简单,但还是有几个要注意的地方:
1. 该表单模板必须是用证书签过名的
如果不签名会有什么问题呢,请看下面一张图,你会发现“包含表单模板”是灰色的,这正是由于未签名造成的,InfoPath似乎有这么一种机制,如果该表单模板没有签名是不允许包含在邮件中发送给第三方的,所以必须签名。
签过名之后,你就会发现“包含表单模板”可以用了!
签名可以在 表单选项-> 安全和信任 中设置
2. InfoPath表单模板中最好设置为“总是发送表单和表单数据”
如果设置了该选项,那么当你转发一份InfoPath表单的时候你就不会再看到“邮件选项”了,默认就是包含表单模板的(但前提是表单模板已经签名,否则只会包含表单数据,且不会有任何提示或警告)
该设置你可以在 表单选项-> 电子邮件和附件 中找到,如下图:
3. 对InfoPath模板做了修改之后,单单在InfoPath设计视图中按保存是没有用的,一定要把它从最近使用的表单中移除,然后再添加进去才可以在Outlook中看到你最后修改的效果。这一点很重要很重要!之前我就是因为没有注意这一点,老是觉得不对。
好了,这样就可以了。现在你就可以在Outlook中创建一个InfoPath表单,然后转发给用户了!
Tip 如何判断一个邮件中是否包含了InfoPath表单模板?
其实InfoPath表单就是xml文件,而Infopath表单模板则是xsn文件,所以包含表单模板自然就是包含了xsn文件,但是为什么看不到邮件的附件呢?其实是看得到的,你可以用下面的方法:
1. 创建一封InfoPath表单邮件
2. 按“转发”
3. 保存 (即保存到草稿中)
4. 进入草稿目录,右击该邮件,在右键菜单中可以看到“查看附件”
当你看到有两个文件时,就表示表单模板已经包含在其中了!