close

為什麼會這麼醜…醜到我不知道該怎麼說明呢?

原因1、其實我是第二次寫C#
雖然想要用java,但是我要用的幾個特殊功能java沒有提供,想說用VB的話…又覺得他過時了~想說順便來試試C#吧?
而且C#與Word是同樣是微軟的產品,支援應該不錯吧?

於是就開啟了這隻程式

 

原因2、c#對word的支援方式很怪~

C#中,要使用WORD的方法是1、先選取一個區域(叫作Range),然後再對這個range做動作
但是因為他range的選擇方式很奇怪…所以選到的位置不見得是自己想要的,我過程我改過了數次

range= word.range(start, end)

range= word.range(start-1, end)

這兩行我改來改去不下3次,而且還常常跑不一樣的結果…我一整個不知道該說什麼~~

 

於是在try and error與寫程式同時並行的結果,我最後寫出了這個超直觀的程式碼~~

 

3、因為每份公文的頁數是不固定的:

可能這份只有2頁,下一份卻長達30頁一類……(可以由for loop看出來,每次程式要跑的次數不同)

 

因此無法使用類似template,來產生word的方式…真的有點殘念

 

4、因為這個產生的word需要有header(而且不是每頁的header一樣)

因此也無法將之弄成網頁………(這個可能有…只是我查不到)

 

5、C#對於word的支援雖然大多數功能都支援到了,但是很多東西都藏得很深

    而且他的文件(msdn)其實編的很不好…有很多東西想找找不到~~還是一直去google看有沒有人寫過類似的code...

    一直複製別人的程式碼,品質就不怎麼好了~

  講到這就不得不推java...其api的介紹真的詳細很多~~

  (不過他的example就沒有word清楚)

 

---

總之總之…這個寫了很久的程式終於結束了

再一開始的時候C#不認得word...上網查,每個人都叫我去下載OXPPIA,O2003PIA,還重安裝了幾次OFFICE,結果最後發現是c#裡面還要Add reference....

然後要加文字方塊時還找到了需要用VS的dll(還好最後有找到VC#用的)

不斷的研究那個Start, end到底有什麼意義…為什麼不能把游標擺過去…

 

一堆又一堆的問題~~總算結束了~~總程式約1500行,但其實技術層面的程式碼-->零

 

只能說這真的是無敵無敵爛的程式了~~也許過幾天整個測試上線圓滿了後,我會來把他改好一點吧?

至少要加一些新資料可以加~~

 

arrow
arrow
    全站熱搜

    ccas 發表在 痞客邦 留言(0) 人氣()