我从一个项目开始,我需要从MS Project 2013中提取数据。然后,必须在我的应用程序中使用此数据来显示不同的报告和仪表板等。经过一些搜索,我看到有从项目服务器公开的接口,但是,可以从独立机器上的 MS Project 应用程序中提取数据吗?我是第一次从事MS项目,所以如果这是一个愚蠢的问题,请耐心等待。如果我得到某种可用于动态处理数据的 api,而不是在 excel、csv 等中进行数据转储,那就更好了。
问题1:MS项目可以自动化吗?答:是的。可在此处找到对象模型:项目 VBA 参考。Microsoft没有提供太多关于使用其他语言自动化的信息,但它是可以做到的(vb.net 和C##是直截了当的,python库存在,可能还有其他工具)。MS Project可以自动获取所需的数据,而不是csv转储。您需要熟悉对象模型。关于这一点,Stack Overflow有很多问题。
问题2:MS Project(桌面应用程序)的多个用户如何在没有项目服务器的情况下在中央服务器上拥有单个数据存储库?答:您可以为 MS Project 文件创建自己的数据库存储库,但是当您可以使用 Project Server 时,为什么要完成所有这些工作?注意:项目服务器确实需要一台服务器,这对于少数用户来说开销很大。您真的需要一个中央存储库还是只是一个共享目录来保存文件,以便所有用户都可以访问?
问题 3:多个 ms 项目桌面应用程序(安装在 LAN 上连接的不同计算机上)是否可以将其数据存储在中央计算机上?答:是的,当然。MS Project是一个Microsoft的Office应用程序,就像Excel一样,文件可以存储在您想要的任何位置。
底线:1)正如Ken所建议的,使用google搜索ms project automation
,2)阅读带有ms-project
和microsoft-project-vba
标签的Stack Overflow上的问题和答案。即使你想使用.net或python或其他东西,如何自动化的框架也将与vba非常相似,如果你不忽略vba问题,你会发现更多的信息。