我如何解决:“ ole错误未知com状态代码”在Foxpro
我有代码
> lc_nmfp = GETFILE() IF LEN(ALLTRIM(lc_nmfp)) < 1 then
> MESSAGEBOX("ôàéë íå âûáðàí") RETURN endif ln_w =
> GETWORDCOUNT(lc_nmfp,"\") lc_nmf = GETWORDNUM(lc_nmfp,ln_w,"\") lc_f =
> GETWORDNUM(lc_nmf,1,".") lc_p = "" ln_i = 1 DO while ln_i < ln_w
> lc_p = ALLTRIM(lc_p)+ALLTRIM(GETWORDNUM(lc_nmfp,ln_i,"\"))+"\" ln_i
> = ln_i+1 ENDDO
>
> CREATE CURSOR tmp(H Char(12), N char(2)) CREATE CURSOR
> xlsfile(AccountName CHAR(20), TrafficSourceCommunicationName CHAR(20),
> CommunicationScheduledFor CHAR(20), CommunicationStartDate CHAR(20),
> CommunicationTemplate CHAR(20), Fromv CHAR(12), Tov CHAR(12),
> MessageId CHAR(45), SendAt CHAR(35), CountryPrefix CHAR(2),
> CountryName CHAR(16), NetworkName CHAR(21), PurchasePrice CHAR(2),
> Statusv CHAR(25), Reason CHAR(25), Action CHAR(25), ErrorGroup
> CHAR(25), ErrorName CHAR(80), DoneAt CHAR(15), Textv CHAR(254),
> MessagesCount CHAR(2), ServiceName CHAR(16), UserName CHAR(19), SeenAt
> CHAR(19), Clicks CHAR(19), PairedMessageId CHAR(19), DataPayload
> CHAR(19))
>
> IMPORT FROM lc_p+lc_f+".xls" TYPE XL8 SHEET SData
>
> SELECT H, N FROM viber_exp WHERE VAL(N) = 1
>
>
>
>
>
> oleObject=CREATEOBJECT('EXCEL.Application')
> oleObject.application.Visible= .T.
>
>
> nRow=0
>
> SCAN nRow=nRow+1 oleObject.Cells(nRow,1).Value=viber_exp.H
>
>
> oleObject.Cells(nRow,2).Value=viber_exp.N
>
> ENDSCAN
是我的代码。在“ oleobject.cells(nrow,1).value = viber_exp.h”行中返回错误:“ ole错误未知com状态代码” 我在做什么错?
I have the code
> lc_nmfp = GETFILE() IF LEN(ALLTRIM(lc_nmfp)) < 1 then
> MESSAGEBOX("ôàéë íå âûáðàí") RETURN endif ln_w =
> GETWORDCOUNT(lc_nmfp,"\") lc_nmf = GETWORDNUM(lc_nmfp,ln_w,"\") lc_f =
> GETWORDNUM(lc_nmf,1,".") lc_p = "" ln_i = 1 DO while ln_i < ln_w
> lc_p = ALLTRIM(lc_p)+ALLTRIM(GETWORDNUM(lc_nmfp,ln_i,"\"))+"\" ln_i
> = ln_i+1 ENDDO
>
> CREATE CURSOR tmp(H Char(12), N char(2)) CREATE CURSOR
> xlsfile(AccountName CHAR(20), TrafficSourceCommunicationName CHAR(20),
> CommunicationScheduledFor CHAR(20), CommunicationStartDate CHAR(20),
> CommunicationTemplate CHAR(20), Fromv CHAR(12), Tov CHAR(12),
> MessageId CHAR(45), SendAt CHAR(35), CountryPrefix CHAR(2),
> CountryName CHAR(16), NetworkName CHAR(21), PurchasePrice CHAR(2),
> Statusv CHAR(25), Reason CHAR(25), Action CHAR(25), ErrorGroup
> CHAR(25), ErrorName CHAR(80), DoneAt CHAR(15), Textv CHAR(254),
> MessagesCount CHAR(2), ServiceName CHAR(16), UserName CHAR(19), SeenAt
> CHAR(19), Clicks CHAR(19), PairedMessageId CHAR(19), DataPayload
> CHAR(19))
>
> IMPORT FROM lc_p+lc_f+".xls" TYPE XL8 SHEET SData
>
> SELECT H, N FROM viber_exp WHERE VAL(N) = 1
>
>
>
>
>
> oleObject=CREATEOBJECT('EXCEL.Application')
> oleObject.application.Visible= .T.
>
>
> nRow=0
>
> SCAN nRow=nRow+1 oleObject.Cells(nRow,1).Value=viber_exp.H
>
>
> oleObject.Cells(nRow,2).Value=viber_exp.N
>
> ENDSCAN
It's my code. In line "oleObject.Cells(nRow,1).Value=viber_exp.H" it returns error: "OLE error Unknown COM status code"
What am i doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您尚未提供任何单元格。尝试在createObject()之后添加oleobject.workbooks.add()。除了解决此错误之外,这也不是传输数据excel(.value = ...)的方式。
而是使用CopyFromRecordSet或QueryTables.ADD-(搜索为您处理的VFP2Excel函数)。
也从... XL8导入的也是您不应该使用的。检查 https://foxite.com/archives/archives/0000153776.htm 现在,您可以将Cursoradapter与OLEDB或ODBC一起使用。 IE:
You didn't yet provide any cells. Try adding oleObject.Workbooks.Add() after CreateObject(). Aside from fixing this error, this is not the way for transferring data to Excel (.Value = ...).
Instead use CopyFromRecordSet or QueryTables.Add - (search for VFP2Excel function that handles that for you).
Also import from ... XL8 is also one that you shouldn't use. Check https://foxite.com/archives/0000153776.htm There it is a bit old and now instead you could use CursorAdapter with OleDb or ODBC. ie: