2015-10-17 62 views
-2

我正在使用Word的舊宏文件,因爲原始開發人員停止工作,所以我正在維護它。所述VBA腳本包含其使用的值從editfields(從一種形式),以從插入的時間作最後的總和計算腳本,之後將其放入一個表這樣的Word文檔內:指定值兩次

Total hours 8 + 0,5 uur administration = 8,5 hours 

但是,當用戶從表單編輯字段中刪除值並再次按下計算時,該值仍在內存中而不覆蓋它。但是:有一種解決方法,如果我先將表單值更改爲0.00,然後刪除該行,則公式會發生更改。

現在我想這個過程自動化,而且部分工作:

If txtInspectieUren4 = "" Then txtInspectieUren4 = "0.00" //works! 

但我不想讓「0.00」是我的Word文檔中可見的,所以我加了這一點:

If txtInspectieUren4 = "" Then txtInspectieUren4 = "0.00" //works! 
If txtInspectieUren4 = "0.00" Then txtInspectieUren4 = "" //Can I get the "" back after assigning "0.00"? 

回答

0

所以你加了「這個」......然後呢?

很大程度上取決於如何設置這些表單字段的屬性,您不說。如果txtInspectieUren4設置爲數字,那麼它不能包含空字符串並正確計算 - 聽起來好像是這個問題。

我想嘗試在使用SET字段的文檔中創建書籤。讓代碼將正確的值(數字或0)寫入書籤,並在計算中使用此書籤,而不是可能顯示數字或不顯示數字的表單字段。

一組場的樣子:{設定bookmarkName bookmarkValue}

代碼進行更改:ActiveDocument.Fields([index]).Code.Text = "SET bookmarkName BookmarkValue"

當formfields被用來做計算,並參考他們實際上指的書籤名稱其他表單字段表單域和它們可以引用文檔中的任何書籤 - 不僅僅是表單域。