为便于大家学习,我来给守柔的域代码注释一下: { SEQ Z } 取得一个以“Z”为标签的编号域 { ={ SEQ Z }+1 } 为编号域起始数+1,单元格计算从A2开始 { Quote "A{ ={ SEQ Z }+1 }" } 转换为单元格地址,动态引用行标 { ={ Quote "A{ ={ SEQ Z }+1 }" } } 取得对于该单元格地址数据的引用
{ SET Data { ={ Quote "A{ ={ SEQ Z }+1 }" } } } 将动态单元格数据赋值给“Data”书签域或称为变量名 { =ABS(Data) \#"0.00" } 为“Data”取绝对值并设置数据格式为保留两位小数,自动四舍五入 { SET JinE { =ABS(Data) \#"0.00" } }
将{ =ABS(Data) \#"0.00" }的结果赋值给“JinE”书签域 { SET Yuan { =INT(JinE) } } 将取整后的金额数据赋值给“Yuan”书签域 { SET Jiao { =INT(JinE*10-Yuan*10) } } 将金额的角值赋于“Jiao”书签域 { SET Fen { =INT(JinE*100-Yuan*100-Jiao*10) } } 将金额的分值赋于“Fen”书签域 { IF Data < 0 "负" "" } 如果“Data”值(即单元格数据)小于0,显示为“负”,否则为“”(空空) { IF Yuan = JinE "{ =Yuan \*CHINESENUM2 }圆整" } 如果没有角分,即数据取整前后相等,则为“圆整”形式 { IF Fen = 0 "{ =Yuan \*CHINESENUM2 }圆{ =Jiao \*CHINESENUM2 }角整" } 如果分值为0,则域结果为“圆角整”形式 { IF Jiao = 0 "{ =Yuan \*CHINESENUM2 }圆{ =Fen \*CHINESENUM2 }分" "{ =Yuan \*CHINESENUM2 }圆{ =Jiao \*CHINESENUM2 }角{ =Fen \*CHINESENUM2 }分" } 如果角值为0,则域结果为“圆分”形式,否则为“圆角分”形式 如果说人民币金额大写本身不是特别难,只是繁些而已,而域代码{ ={ Quote "A{ ={ SEQ Z }+1 }" } } 则是整个代码的灵魂和精华所在,通过它,用户可以直接复制整个域代码,更新后将自动取得所有相应单元格的大写数据,即自动动态填充单元格域代码(动态引用单元格地址)。 Word中动态引用单元格地址,我只看到守柔有两个贴子中,而这个更全面到位,应该是首创,所以,支持一下守柔。 不知我这样分析得对不对,请守柔评判。 |