3

我需要关于走哪条路的建议。

我正在开发一个 C# 应用程序,我想与 Office 套件进行一些集成。

该解决方案将用于法学院最后学期的学生/教师,为低收入家庭(我们的客户)服务。

我们部门和客户之间几乎所有的互动都是由我们的实习生——法学院的学生完成的。

目前如何运作

  1. 我们的接待员将客户的基本数据添加到系统中并安排访问。
  2. 在访问之前,我们的实习生会查询内部系统以查看客户数据。数据可能包括以前访问的记录。
  3. 学生会见客户,试图收集解决客户需求所需的所有信息。
  4. 然后,实习生必须将与客户的互动报告给主管——老师。为此,实习生打开 Word 并输入一些基本信息(如其名称和老师)以及有关交互的信息。
  5. 实习生打印报告并拿给老师批准。
  6. 在这里,老师做笔记/评估打印的报告,可能会发生三件事:
    6.1 - 报告是正确的并且包含所有需要的信息:老师批准它;
    6.2 - 报告有些不正确:老师告诉学生要改变什么,下一个版本被默许;
    6.3 - 报告不正确:老师告诉学生需要改变什么,下一个版本需要明确批准。他进行了更改并返回到第 5 步。
  7. 报告获得批准后,实习生从 Office 文档中复制文本并将其粘贴/添加到我们的内部访问系统。
  8. 教师物理存储所有报告的版本。这些报告用于以后评估学生。

问题

有时,在报告获得批准后,学生不会将批准的报告添加到我们的内部系统中。与客户端的所有交互基本上都丢失了。

另一个是极端使用纸张。每个报告都被打印出来。通常超过两次。

我提出的解决方案

我们在内部使用 Office 2010。

在我们的内部系统中,当查看客户的历史记录时,有一个按钮可以启动 Word,并与内部应用程序并排。

此 Word 将删除“保存/另存为”按钮。以及许多用户不需要的控件。

这个 Word 实例将有一个自定义的“保存”按钮,用于将报告保存在特定的网络区域并将其发送回我们的系统,从而关闭该 Word 实例。

该报告将在“未批准的报告队列”中显示给教师。然后老师打开报告并分析它。同样,应该显示一个自定义 Word 实例,并启用 Word 的修订控制。教师将进行更改并将其保存回我们的系统,并具有以下三种状态之一(已批准;自动批准下一个版本;重新评估下一个版本)。

或者,教师可以在那里评估报告。我想像一个自定义功能区,他将在其中输入适当的值(例如注意细节、正确拼写、正确转发等)。评估和版本都将被发送回系统,学生会看到。

再一次,学生将在他的系统部分看到报告已被评估,并且可以看到教师的笔记、更正和评估,以便准备他的下一个版本。

射死我

好吧……我是不是飞得太高了?或者可行吗?你能告诉我你会走哪条路吗?

你以为这很简单吗?还是硬?你们认为这需要几个小时?

我需要免费的解决方案。我没有 VS Professional,也没有使用付费框架/工具的许可。

我正在考虑使用 NetOffice ( http://netoffice.codeplex.com/ ) 来做到这一点。还是您认为使用 VBA 会更容易?

我提出的问题太多了吗?

4

1 回答 1

0

通常,在使用 C# 处理 Office 时,您有 2 个选项:

  1. 如果 Office 文件来自 Office 2007 和更早版本,您可以使用 Microsoft 提供的免费OpenXML 库直接在 C# 中读取和操作“docx” 。但仅当您确信可以完全在 C# 中创建解决方案时才使用它,因为它实际上不会打开 Word 窗口。
  2. 您还可以使用Microsoft.Office.Interop.Word从 C# 自动化 Word 。使用 InterOp,您可以操作 Word 本身支持的任何文件。我相信您也可以使用 InterOp 操作 Word 本身(发送保存命令等)。

我强烈建议使用 OpenXML,因为 InterOp 的使用和调试有点麻烦。

于 2012-10-25T17:04:54.003 回答