有个很急的问题请大家帮忙:"(

wubala 2005-05-30 09:05:47
我写了一个程序,里面用到了把datagird表导入到excel(为excel 2003),打完包后,在别的机子上装程序完后,导入excel时,出现"未经对象引用设置到对象的实例"提示框,不知道如何改?
...全文
148 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wubala 2005-06-02
  • 打赏
  • 举报
回复
我把那台除错的机子重装了,再试就行了!谢谢大家,如何 AntingZ(夕惕若) 知道原因请告知:)
水如烟 2005-05-31
  • 打赏
  • 举报
回复
这个问题如果解决了,你可能提交FAQ,问题就叫做
EXCEL,出现"未经对象引用设置到对象的实例"提示框

提交FAQ审核通过后有分奖的,特别是信誉分.
wubala 2005-05-31
  • 打赏
  • 举报
回复
谢谢你们,我试一试!感谢:)
wubala 2005-05-31
  • 打赏
  • 举报
回复
代码如下:
Public Function ExportToExcel(ByVal FName As String, ByVal DTable As DataTable) As Boolean
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim rowIndex, colIndex As Integer
Dim i, count, j As Integer
On Error GoTo HandleErr
rowIndex = 1
colIndex = 0
xlBook = xlApp.Workbooks().Add
xlSheet = xlBook.Worksheets("sheet1")

'jasf;lkad
xlApp.Cells.Select()
xlApp.Selection.NumberFormatLocal = "@"
'kajsfa
For i = 1 To DTable.Columns.Count

xlApp.Cells(rowIndex, i) = DTable.Columns(i - 1).Caption
Next
count = DTable.Rows.Count
If count > 0 Then
For j = 0 To count - 1
rowIndex = rowIndex + 1
For i = 1 To DTable.Columns.Count


xlApp.Cells(rowIndex, i) = DTable.Rows(j)(i - 1)
Next i
Next j
xlBook.SaveAs(FileName:=FName)
xlApp.Quit()
Else
MsgBox("没有数据,无法导出")
End If
Return True
Exit Function
HandleErr:
MsgBox(Err.Description)
Return False
End Function
huangya0 2005-05-31
  • 打赏
  • 举报
回复
对方的机子上的DCOM里没有给EXCEL权限,我遇到相关问题,在运行中打入dcomcnfg给ExcelApplication分配一个everyone的权限看看
AntingZ 2005-05-31
  • 打赏
  • 举报
回复
如果你的程序在其它机器上能正常运行的话,那就一定是这台电脑的系统出了点问题.

这个问题刚好是我碰到过,而且发生在我的电脑上:
同样的程序,在我的机器上(win2003+excel2003)就出现"未经对象引用设置到对象的实例"的错误提示,然后是打不开Excel ,但是在其它电脑上却是一点问题都没有.有问题的电脑是我办公室的电脑,
至于原因我没有细查(我怀疑是我在联系做Office Add-in的时候出了问题),
我这几天出差在外,等回去以后好好查差.

不过我使用的是晚期绑定,可能和你的有点区别.


xiaobao3638 2005-05-31
  • 打赏
  • 举报
回复
我想问题是你的数据库引擎不对吧
wubala 2005-05-30
  • 打赏
  • 举报
回复
用的都是2003版本的,在我的机子上能使(代码应该没错吧?),换一台就成那个错了
CMIC 2005-05-30
  • 打赏
  • 举报
回复
你开发用的office的版本和别的机子上的不一样。
singlepine 2005-05-30
  • 打赏
  • 举报
回复
"未经对象引用设置到对象的实例"是因为你的程序中出错的那一行,左边或右边的实体不存在,比如int类型的i本来是=1的,结果成了null等情况,贴出出错的代码行,帮你检查

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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