2013-06-08 12 views
6

Ho il requisito di modificare il file di progetto ms (.mpp) utilizzando C# .net.come modificare TimescaleStart di MS Project utilizzando C# .net

Ho fatto con tutte le cose, l'unica cosa che rimane è modificare la data TimescaleStart del file MPP usando C# .net. Devo impostare la data definita dall'utente.

Come posso farlo?

seguito è il mio codice:

Microsoft.Office.Interop.MSProject.Application app = new Microsoft.Office.Interop.MSProject.Application(); 
app.DisplayAlerts = false; 
app.AskToUpdateLinks = false; 


app.FileOpenEx(
strFilePath + "test.mpp", 
false, 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
PjPoolOpen.pjPoolReadWrite, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

Microsoft.Office.Interop.MSProject.Project pj = app.ActiveProject; 

object objDate = dt.Date; 
app.TimescaleStart = objDate; 

ottenuto l'errore come

tipo non corrispondente. (Eccezione da HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))

sulla riga seguente:

app.TimescaleStart = objDate; 

risposta

2

TimescaleStart è una sola lettura proprietà che restituisce la data in cui la scala cronologica inizia nella vista corrente.

Se si desidera scorrere la vista in modo che inizi in una determinata data, trovare un'attività con una data di inizio o vicina alla data di destinazione, selezionarla e richiamare il metodo GotoTaskDates dell'oggetto applicazione. Per esempio:

app.Find "Start", "is greater than or equal to", "1/1/2014", Type.Missing, Type.Missing, Type.Missing, Type.Missing 
app.GotoTaskDates 

Aggiornamento:

Se si utilizza Project 2010 o successivo, è anche possibile utilizzare questo metodo:

app.PanZoomPanTo (objDate) 
1

potrebbe essere che si sta effettivamente cercando cambiare la data di inizio del progetto?

In questo caso, provare a utilizzare il metodo "ProjectMove". riferimento here e here.

Se davvero vuole cambiare TimescaleStart, it looks like you are out of luck.

+0

In realtà sto cercando per il TimeScaleStart da modificare. Lo stesso ho sollevato a Microsoft. Grazie –

Problemi correlati