也可在Excel中用一個不打印的單元格作中轉,如A1,在要輸出的單元格輸入公式:
="㈠、委托房产于认证基准日按同地段普通商品住房计算认证价格(大写):"&IF(ROUND(A1,2)=0,"",IF(ROUND(ABS(A1),2)>=1,TEXT(INT(ROUND(ABS(A1),2)),"[DBNum2]")&"元","")&IF(RIGHT(TEXT(A1,".00"),2)*1=0,"整",IF(RIGHT(TEXT(A1,".00"),4)*1>=1,IF(RIGHT(TEXT(A1,".00"),2)*1>9,"","零"),IF(ROUND(ABS(A1),2)>=1,"零",""))&IF(RIGHT(TEXT(A1,".00"),2)*1>9,TEXT(LEFT(RIGHT(TEXT(A1,".00"),2)),"[DBNum2]")&"角","")&IF(RIGHT(TEXT(A1,".00"))*1>0,TEXT(RIGHT(TEXT(A1,".00")),"[DBNum2]")&"分","整")))&"(¥"&TEXT(A1,"#,##0.00")&")"
最好是通过排版解决,将内容分布在两个单元格。
excel可以很方便合并单元格的,多插入一些列来合并处理。
刚刚漏掉一个value,正确的:
Sheet(行号,列号).value = "委托房产于认证基准日按同地段普通商品住房计算认证价格(大写):" & CUMoney(CurrentTable.Current("商品房价格"))
以下是引用狐狸爸爸在2008-10-15 10:21:00的发言:
你完全乱套了,强烈建议你重新复习两次帮助!
在afteropenproject事件中增加两个变量:
Vars.Add("商大写",GetType(string))
Vars.Add("差大写",GetType(string))
自己一个打印报表的按钮:
Vars("商大写")= CUMoney(CurrentTable.Current("商品房价格"))
Vars("差大写")= CUMoney(CurrentTable.Current("认证差价"))
Dim
Book As New XLS.Book(ProjectPath & "Attachments\文件名.xls") '打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成细节区
Book.Save("c:\reports\test.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "c:\reports\test.xls"
Proc.Start()
[此贴子已经被作者于2008-10-15 10:21:30编辑过]
该代码使用后,当商品房价格变动后,但变量没变,第一次用行,变动后不行了,如我改动单价后,商品房价格就变了,但生成的报表还是没改动之前的金额。
[商品房价格]是公式列。
[此贴子已经被作者于2008-10-15 14:17:34编辑过]
用代码打印没,每次打印一页,设计一个按钮,代码设为:
Dim
Book As New
XLS.Book(ProjectPath
&
"Attachments\文件名.xls") '打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成细节区
Book.Save("c:\reports\test.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "c:\reports\test.xls"
Proc.Start()
原来已更新
[此贴子已经被作者于2008-10-15 22:07:05编辑过]
此主题相关图片如下:qq截图未命名.jpg
[此贴子已经被作者于2008-10-16 10:54:56编辑过]