从 Ms-Project 中提取数据到另一个应用程序

Pull data from Ms-Project into another application

我从一个项目开始,我需要从 MS Project 2013 中提取数据。然后必须在我的应用程序中使用这些数据来显示不同的报告和仪表板等。经过一些搜索后,我发现有接口公开项目服务器,但是,可以从独立计算机上的 MS Project 应用程序中提取数据吗?我是第一次在 MS Project 上工作,如果这是一个愚蠢的问题,请多多包涵。如果我得到某种 api 可以用来动态提取数据而不是在 excel、csv 等

中进行数据转储,那就更好了

问题 1:MS Project 可以自动化吗? 回答:是的。对象模型可以在这里找到:Project VBA reference。 Microsoft 没有提供太多关于使用其他语言实现自动化的信息,但可以做到(vb.net 和 C## 是 straight-forward,存在 python 库,可能还有其他工具)。 MS Project 可以自动获取您想要的数据,而不是 csv 转储。您需要熟悉对象模型。 Stack Overflow 上有很多关于这个的问题。

问题 2: MS Project(桌面应用程序)的多个用户如何在没有项目服务器的情况下在中央服务器上拥有一个数据存储库? 答案:可以为 MS Project 文件创建您自己的数据库存储库,但为什么要通过当您可以使用 Project Server 时,所有这些都有效吗?注意:Project Server 确实需要 server,这对少数用户来说是很大的开销。您真的需要一个中央存储库还是只需要一个共享目录来保存文件以便所有用户都可以访问?

问题3:多个ms项目桌面应用程序(安装在连接局域网的不同机器上)可以将它们的数据存储在中央机器上吗? 答:当然可以。 MS Project 是 Microsoft Office 应用程序,就像 Excel 一样,文件可以存储在您想要的任何位置。

底线: 1) 按照 Ken 的建议,使用 google 搜索 ms project automation,2) 阅读 Stack Overflow 上的问题和答案ms-projectmicrosoft-project-vba 标签。即使您想使用 .net 或 python 或其他东西,如何自动化的框架也将与 vba 非常相似,如果您不忽略vba 个问题。