I am starting with a project where I need to pull data from MS Project 2013. This data then has to be used in my application for showing different reports and dashboards etc. After some searching I see there are interfaces exposed from Project server, but, can the data be pulled from a MS Project application on a stand alone machine? I am working on MS Project for the very first time so bear with me if this is a silly question. Also its better if I get some kind of an api that can be used to ull the data dynamically rather than taking data dump in excel, csv etc.
-
If MS Project exposes interfaces for automation, you can use them programmatically, but Project has to be installed on that computer. You can't use automation to automate something that doesn't exist. – Ken White Jun 21 '19 at 18:22
-
The machine has Ms Project 2013 installed on it. My question is does it expose interfaces for automation without project server? kindly direct me to the right resources on how to extract data out of it with and without project server. – Subbu Jun 21 '19 at 18:37
-
If the interfaces are to automate Project Server, then of course Project Server has to be available. Read the last sentence of my previous comment. And you can't ask us to *direct you to the right resources*, because that would be an off-site resource request, which is specifically indicate as being off-topic here according to the [help/on-topic] guidelines. Here's a thought: Type `ms project automation` into your favorite search engine. :-) – Ken White Jun 21 '19 at 18:39
-
Thanks, I just did it and did get some data but, now I am thinking about how multiple users of MS Project (desktop app) can have a single data repository on a central server, without a project server. Is this possible? In my scenario is not possible to install additional licenses or products. – Subbu Jun 21 '19 at 19:30
-
That's a licensing question, which isn't appropriate for this site. – Ken White Jun 21 '19 at 19:38
-
Hi Ken, thanks for the comment but it wasn't a licensing question. The last statement in my comment was an information. The question is in the first statement, let me make the question simple. Can multiple ms project desktop apps (installed on different machines connected on LAN) store their data on a central machine? – Subbu Jun 23 '19 at 10:49
1 Answers
Question 1: Can MS Project be automated? Answer: Yes. The object model can be found here: Project VBA reference. Microsoft does not provide much information about automating with other languages but it can be done (vb.net and C## are straight-forward, python libraries exist, and possibly other tools as well). MS Project can be automated to get the data you want rather than a csv dump. You'll need to familiarize yourself with the object model. There are many questions on Stack Overflow about this.
Question 2: How can multiple users of MS Project (desktop app) can have a single data repository on a central server, without a project server? Answer: You can create your own database repository for MS Project files, but why would you go through all that work when you can use Project Server? Note: Project Server does require a server which is a lot of overhead for just a few users. Do you really need a central repository or just a shared directory for saving files so that all users have access?
Question 3: Can multiple ms project desktop apps (installed on different machines connected on LAN) store their data on a central machine? Answer: Yes, of course. MS Project is a Microsoft Office application, and just like Excel, the files can be stored anywhere you want.
Bottom line: 1) as Ken suggested, use google to search ms project automation
, 2) read the questions & answers here on Stack Overflow with the ms-project
and microsoft-project-vba
tag. Even if you want to use .net or python or something else, the framework of how to automate will be very similar to vba and you'll find so much more information if you don't ignore the vba questions.

- 1
- 1

- 7,927
- 2
- 21
- 31
-
Hi Rachel! thanks a lot for your answer and this is the best answer I have got. I did find a few ways to tap into MSP data in the last cpl of days. To give you a gist, I am in the process of extending the capabilities of MSP. collecting data from all users consolidating it and generating dashboards reports, linking relevant documents to a task etc...Do share your thoughts on how you would go about it. I shall accept your answer. Thanks. – Subbu Jun 25 '19 at 10:24