簡體   English   中英

如何使用C#.net編輯MS Project的TimescaleStart

[英]how to edit TimescaleStart of MS Project Using C#.net

我需要使用C#.net修改ms項目文件(.mpp)。

我已經做完所有事情,剩下的唯一事情就是使用C#.net修改MPP文件的TimescaleStart日期。 我需要設置用戶定義的日期。

我怎樣才能做到這一點?

以下是我的代碼:

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;

錯誤為

類型不匹配。 (來自HRESULT的異常:0x80020005(DISP_E_TYPEMISMATCH))

在以下行中:

app.TimescaleStart =   objDate;

TimescaleStart是一個只讀屬性,它返回時間刻度在當前視圖中的開始日期。

如果要滾動視圖以使其在某個日期開始,請找到一個開始日期在目標日期或接近目標日期的任務,選擇它並調用應用程序對象的GotoTaskDates方法。 例如:

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

更新:

如果您使用的是Project 2010或更高版本,則還可以使用以下方法:

app.PanZoomPanTo (objDate)

可能是您實際上要更改項目的開始日期嗎?

如果是這種情況,請嘗試使用“ ProjectMove”方法。 在這里這里參考。

如果您真的要更改TimescaleStart, 則看起來很不走運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM