非常奇怪的问题:与EXCEL通信??????急急

wangfeng0215 2003-08-01 09:08:53
如果一个单元格内只有汉字,只能读出前六个汉字,如果单元格内只有字符就没有问题.
代码如下:
String ls_Val,aa
RegistryGet( 'HKEY_CLASSES_ROOT\Excel.Application\CurVer', '', ls_Val )
IF trim(mid(ls_Val,1,5))<> 'Excel' THEN
Messagebox('错误','此台机器中没有安装Excel,请退出此程序后安装Excel!',exclamation!,ok!)
RETURN
END IF
//与EXCEL通信
OLEObject ExcelServer
integer ExcelOK
ExcelServer = CREATE OLEObject
//判断EXCEL
ExcelOK = ExcelServer.ConnectToNewObject( "Excel.application" )
if ExcelOk<>0 then
MessageBox('错误','无法与Excel联结,请通知管理员')
destroy ExcelServer
return
end if
//打开对话框
string pname,fname
int li_re
li_re=GetFileOpenName('科目Excel文件',pname,fname,"xls","Excel文件 (*.xls),*.xls")
if li_re<>1 then
return
end if
ExcelServer.Workbooks.Open(pname)
int i
string ls_kmbm,ls_kmmc,ls_jdsx
any myvalue
for i=2 to 10000
MyValue = ExcelServer.ActiveSheet.cells(i,1).value
ls_kmbm=trim(string(MyValue))
MyValue = ExcelServer.ActiveSheet.cells(i,2).value
ls_kmmc=trim(string(MyValue))
next

ExcelServer.ActiveWorkbook.close(pname)
excelserver.Application.quit
ExcelServer.DisconnectObject()
destroy ExcelServer
...全文
72 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CodeMagic 2003-08-05
  • 打赏
  • 举报
回复
建议应该调试模式下对程序的运行进行跟踪,这样的问题应该不难解决。
另外,尝试一下其他Vba函数,用语句
MyValue = ExcelServer.ActiveSheet.cells(i,1).Range.Text取代语句
MyValue = ExcelServer.ActiveSheet.cells(i,1).value看一下运行结果。
wangfeng0215 2003-08-03
  • 打赏
  • 举报
回复
up
spawnwind 2003-08-01
  • 打赏
  • 举报
回复
我试过了,你的代码没有问题!读出10个以上

只不过我把循环取掉了!

你那个循环10000干什么用的?
Jekson 2003-08-01
  • 打赏
  • 举报
回复
Study!
aty283 2003-08-01
  • 打赏
  • 举报
回复
up
wangfeng0215 2003-08-01
  • 打赏
  • 举报
回复
up
wangfeng0215 2003-08-01
  • 打赏
  • 举报
回复
10000没什么用!
我是在PB7下运行的。

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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