如何使用VSTA程序来自由控制INFOPATH表单的保存表单库

摘要:
    在使用INFOPATH时,有时候我们可能要根据填写表单的人的选择,来把表单放入A表单库或是B表单库,也就是说,在表单模板中是没有办法固定保存的文档库的。
    可是,在使用提交时,不输入一个保存位置是没有办法进行下去的。
    可喜的是,VSTA可以在提交前,让你更改保存的表单库的位置。
  1. 创建一个模板如下图,其中提交URL地址这个字段用户是可以输入的,“文件名”这个字段为了方便使用了当前日期作为文件名:

  2. 新建一个提交的数据连接,如下图,名称为spssubmit,参数如下图:

    库或列表,你可以使用使用一个文档库的地址来代替,这个地址我们会在VSTA中把它重新设置。

    文件名可以直接引用一个域,这个域我们是savefilename。

  3. 在"自动提交"时定下如下的VSTA代码,就可以实现系统根据提交URL地址,来把表单提交到文档库中。

public void CTRL3_5_Clicked(object sender, ClickedEventArgs e)

{

// 在此处编写代码。

FileSubmitConnection fsc = (FileSubmitConnection)this.DataConnections["spsubmit"];

fsc.FolderUrl = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:saveurl", NamespaceManager).Value.ToString();

fsc.Execute();

}

 

效果如下图:

 

 

4. 把这个表单,做一个数字签名,然后发布到本地硬盘,并且通过管理中心的上传表单上传到服务器上,并且激活到网站集,就OK了。

原文地址:https://www.cnblogs.com/dosboy/p/1312144.html