我正在尝试构建一个 InfoPath 加载项,以允许模板编辑器(而不是最终用户)预览填充了示例数据的表单。
首先,我们的环境的一些背景。我们有一个连接到 MOSS 的自定义进程,为给定的表单下载适当的数据源程序集,并调用它们将数据从数据库加载到表单中(例如信件模板中的收件人地址信息)。此过程在下载表单并传递参数(通过 URL)以进行数据检索时启动。我可以通过命令行将参数传递给本地保存的表单模板来近似这种行为。
有了这些知识,我着手构建一个 InfoPath 加载项,它可以执行以下操作:
- 在设计模式下显示一个自定义工具栏按钮,模板编辑器可以单击该按钮以使用示例数据填充表单(需要传递参数)。
- 单击按钮时,将活动模板的副本保存到临时文件夹并使用 Shell() 命令将参数传递给表单。然后将在单独的 InfoPath 窗口中启动该表单的副本。
在此过程中,我参考了各种在线教程和 Apress 的 Pro InfoPath 2007 以获得指导,并且像这里以前的帖子一样,发现可用的信息非常有限。我在那里的一部分,但遇到了一些问题:
- 我能够显示自定义工具栏按钮,但只能在预览模式下显示。我需要按钮以设计模式显示。
- Application.ActiveWindow.XDocument.SaveAs() 方法似乎只保存表单,而不是整个模板。也许这是因为我处于预览模式而不是设计模式?也许解决第一个问题也可以解决这个问题。
- 为了避免上述两个问题,我研究了如何在我的表单模板解决方案中调用 FormEvents_Loading 处理程序。这将允许我将测试参数传递给它,而不必求助于保存副本并通过命令行启动它。我不知道该怎么做。
有什么想法或建议吗?在此先感谢您的帮助!