2015-10-17 44 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被用来做计算,并参考他们实际上指的书签名称其他表单字段表单域和它们可以引用文档中的任何书签 - 不仅仅是表单域。