导出到EXCEL,工作簿窗口为什么被隐藏了??

steven2003 2004-08-26 09:01:41
导出到EXCEL模版中,然后打开文件,EXCEL的工作簿窗口被全部隐藏了!
要人为的取消隐藏。
问题是:1。我PB导出到EXCEL的代码有问题吗??
2。EXCEL写宏的话(VBA),取消全部的隐藏的代码应该怎么写???
3。代码的执行,有时还存在EXCEL进程没有关掉,该怎么写??
谢谢!!我在线等待......

附,导出到EXCEL模版的代码:
integer cur_filevalue
string cur_filepath,cur_filename,cur_str_excel_path
string cur_supplierid

cur_date=string(dw_1.object.日期[dw_1.getrow()],'yyyy-mm-dd')
cur_pament=dw_1.object.付款方式[dw_1.getrow()]
cur_price_term=dw_1.object.交货方式[dw_1.getrow()]
cur_supplierid=dw_1.object.供应商[dw_1.getrow()]
cur_money=dw_1.object.币种[dw_1.getrow()]
cur_remark=dw_1.object.备注[dw_1.getrow()]

integer result
string file_load

integer li_FileNum
li_FileNum = FileCopy (str_cur_dir+'\stencil\ld_order.xlt', str_cur_dir+"\temp\ld_order.xls", true)
file_load=str_cur_dir+"\temp\ld_order.xls"

OLEObject myoleobject

myoleobject = CREATE OLEObject

result = myoleobject.ConnectToObject(file_load, "excel.chart")
IF result = 0 THEN
myoleobject.application.workbooks(1).worksheets(1).range("no").value = orderno
myoleobject.application.workbooks(1).worksheets(1).range("order_date").value = cur_date
myoleobject.application.workbooks(1).worksheets(1).range("supplier").value = cur_supplierid
myoleobject.application.workbooks(1).worksheets(1).range("payment").value = cur_pament
myoleobject.application.workbooks(1).worksheets(1).range("term").value = cur_price_term
myoleobject.application.workbooks(1).worksheets(1).range("money").value = cur_money
myoleobject.application.workbooks(1).worksheets(1).range("remarks").value = cur_remark
myoleobject.application.workbooks(1).worksheets(1).range("print_date").value = today()

long set_row,print_row
set_row=34
decimal total_amount=0
STRING SUM_AMOUNT
string quantity,description,leatherid,colorid,color,thickness,grade,price,amount,last_date,shipped
print_row=dw_2.rowcount()
for i=1 to dw_2.rowcount()
quantity=string(round(dw_2.object.数量[i],0))
description=dw_2.object.皮名称[i]
leatherid=dw_2.object.皮号[i]
color=dw_2.object.颜色[i]
thickness=dw_2.object.厚度[i]
grade=dw_2.object.等级[i]
price=string(dw_2.object.单价[i])
amount=string(ROUND(dw_2.object.金额[i],2))
total_amount=total_amount+dw_2.object.金额[i]
last_date=dw_2.object.要求交货日期[i]
shipped=dw_2.object.运输方式[i]
myoleobject.application.workbooks(1).worksheets(1).Rows(set_row).Insert
myoleobject.application.workbooks(1).worksheets(1).Rows(set_row).RowHeight=15

myoleobject.application.workbooks(1).worksheets(1).cells(set_row,1).value = quantity
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,2).value = description
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,3).value = leatherid
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,4).value = color
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,5).value = thickness
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,6).value = grade
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,7).value = price
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,8).value = amount
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,9).value = last_date
myoleobject.application.workbooks(1).worksheets(1).cells(set_row,10).value = shipped
set_row = 34 + i
next
string print_range
print_range = "A34:j" + Trim(string(34 + print_row - 1))
myoleobject.application.workbooks(1).worksheets(1).range(print_range).borders(1).linestyle = 1
myoleobject.application.workbooks(1).worksheets(1).range(print_range).borders(2).linestyle = 1
myoleobject.application.workbooks(1).worksheets(1).range(print_range).borders(3).linestyle = 1
myoleobject.application.workbooks(1).worksheets(1).range(print_range).borders(4).linestyle = 1
myoleobject.application.workbooks(1).worksheets(1).range(print_range).Font.Bold=false

SUM_AMOUNT=STRING(round(total_amount,2))
myoleobject.application.workbooks(1).worksheets(1).range("total").value = SUM_AMOUNT
myoleobject.application.workbooks(1).save()
END IF

//myoleobject.application.quit
DESTROY myoleobject

string cur_excel_path

registryget("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\excel.exe","path",Regstring!,cur_excel_path)
run(cur_excel_path+'excel.exe '+file_load,normal!)

...全文
297 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TTLOVEYOU3344 2004-12-07
  • 打赏
  • 举报
回复
不知道,幫你頂
coolmoon2004 2004-12-07
  • 打赏
  • 举报
回复
有分 没人收?? 拜托 救命诶
coolmoon2004 2004-12-07
  • 打赏
  • 举报
回复
咋还没有高手能回复啊
各位高手 行行好啊!!帮帮忙诶!!!!
steven2003 2004-08-30
  • 打赏
  • 举报
回复
没有人知道吗??各位 帮帮忙啊!
steven2003 2004-08-26
  • 打赏
  • 举报
回复
各位高手救命,在线等待中...............
steven2003 2004-08-26
  • 打赏
  • 举报
回复
excel结束进程问题好象可以了
只要 myoleobject.application.quit()

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧