一、開發(fā)背景
最近在使用微軟的Office Project 2010 進(jìn)行項目管理,看到排的滿滿的計劃任務(wù),一個個地被執(zhí)行完畢,還是很有成就感的。其實,不光是在工作中可以使用Project進(jìn)行項目進(jìn)度控制,同樣可以把這款軟件應(yīng)用在日常的生活中,比如為閱讀某本書排一個計劃,而任務(wù)單元就是本書的目錄,當(dāng)然粒度可以自己定制;也可以為健身排一個計劃,每周去幾次健身房、每次做多少個動作、做什么類型的動作,都可以提前排程,每完成一項就就在任務(wù)進(jìn)度上狠狠地輸入100%,那是多么爽的事啊。
但是,通過一段時間的使用,我發(fā)現(xiàn)自己有一個個性化的需求,就是習(xí)慣為各種狀態(tài)的任務(wù)加上不同的背景色,這樣就會很清晰直觀地掌握任務(wù)的總體完成情況;還有就是很不喜歡Project自帶的創(chuàng)建任務(wù)的方式,希望可以以自己的方式來創(chuàng)建任務(wù),比如任務(wù)的資源一般是我自己的名字(大多數(shù)情況),所以我希望創(chuàng)建任務(wù)的時候,默認(rèn)帶出資源名稱,再比如我喜歡用微軟雅黑作為默認(rèn)字體,但是每次都是設(shè)置好單個單元格后,再用格式刷去刷,很是麻煩,再比如表示任務(wù)狀態(tài)的背景色,也是自己一點點用格式刷去刷的,如果不常用這個工具還好,但是總是這樣難免讓人反感,所以就產(chǎn)生了這個想法。以上就是我自己的個性化需求,如果后續(xù)有其他想法,還可以自己擴展,把懶人的風(fēng)格發(fā)揚到底。在園子里也找了一些相關(guān)資料,但是和我的出發(fā)點都不是很吻合,所以廢話不多說,自己動手,豐衣足食。
二、Project Object 模型
之前做過Word的插件開發(fā),里面的各個組件(Range,Paragraph,Selection)等都是有規(guī)律可循的,大多數(shù)對象都有自己的集合,而且多個對象之間的關(guān)聯(lián)比較密切,但是Project的模型讓我很費解,比如里面的單元格Cell,居然不存在集合的概念(見微軟官方文檔),這里面比較重要的模型有以下幾個:Application、Task、Cell、Resource等,當(dāng)然,還有其他的比較重要的模型,只是不是很常用,在此不做說明。
Represents the active cell. (There is no collection for Cell objects.) The Cell object can be acc