高手的指点:WORD中对于普通的四则运算以及乘方开方等运算,只须使用如下功能:
CTRL+F9:插入域括号,然后在括号内输入“=(1+2)*4/4-5+8”等等你要的数据公式然后更新域即可
上面的我已经和同事完成了vba的开发,已经能在选中计算式的时候:如
123*56-789+45/89的时候,运行宏得到
123*56-789+45/89={=123*56-789+45/89}但是 ]更新域[]的vba代码不知道怎么写,所以还要选右键的[更新域]才能得到结果,请高手指点更新域的vba代码:以便早日和大家共享此代码:
已经完成的代码如下:
Sub mycal()
'本程序用于计算公式,利用word里面域的算法
'使用方法是先选定需要计算的区域,然后运行此程序就可以了
'需要解决的问题:
'1.最好能够自动更新域
'2.最好的改进就是能自己判断=号并给于计算
'3.并且在另一文档中记录其计算过程
' Dim formulaStr As String, resultStr As String
formulaStr = Application.Selection
'**********************************
Selection.InsertAfter "="
Selection.MoveRight Count:=(Len(formulaStr) + 1)
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, PreserveFormatting:=False
formulaStr = Left(formulaStr, Len(formulaStr) - 1)
Selection.TypeText Text:="=" & formulaStr
End Sub |