以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  getobject(,"EXCEL.APPLICATION")为啥出错,错误号出错号是429  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=76259)

--  作者:tiantian2888
--  发布时间:2015/3/7 19:37:10
--  getobject(,"EXCEL.APPLICATION")为啥出错,错误号出错号是429
在金字塔中,getobject公式中获取不到已经打开的excel文件对象,提示activeX无法创建对象,错误号429。怎么解决呢?但在vba中调试可以通过。
--  作者:tiantian2888
--  发布时间:2015/3/8 7:22:02
--  
如图所示,请教是否是环境原因?
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150308072344.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/3/8 7:23:35编辑过]

--  作者:王锋
--  发布时间:2015/3/8 10:39:55
--  

试试这个范例

Sub Test()
Set Grid = Technic.GetGridByName("Main")
Set Formula = Grid.GetFormulaByIndex(1)

\'创建EXCEL对象
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add

\'循环遍历得到公式线
for i = 0 to Formula.DataSize-1
\'将两条数据线插入到EXCEL第一、二列
objExcel.Cells(i+1,1).Value =Formula.GetBufData("MA1",i)
objExcel.Cells(i+1,2).Value =Formula.GetBufData("MA2",i)
objExcel.Cells(i+1,3).Value =Formula.GetBufDateData(i)
next

End Sub

 

如果还是不行,重启计算机再试试,如果还是不信,那么可能是你电脑安装的EXCEL不正常,不要使用网上的所谓绿化版,使用安装版后再试试


--  作者:pel46585
--  发布时间:2015/3/9 11:14:03
--  

getobject(,"EXCEL.APPLICATION"),前提是你必须先打开最少一个EXCEL表格,并对当前的EXCEL进行操作

CreateObject("Excel.Application"),直接创建EXCEL对象,以后如果想操作某个EXCEL表,则要OPEN才可操作