以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]引用excel单元格属性方法莫名其妙的出错  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=7752)

--  作者:micro_mok
--  发布时间:2011/8/29 10:08:22
--  [求助]引用excel单元格属性方法莫名其妙的出错

dim block1
 set block1 = createobject("stock.block")
 dim workexcel
 set workexcel = getobject("D:\\数据资料\\新建文件夹 (2)\\新建文件夹\\核心数据\\block.xlsx","excel.application")

 

中间一些参数废话省略

 

call block1.createtype("HS300行业")
 with workexcel.worksheets("HS300行业")
  num = .cells(.rows.count,1).end(xlup).row
  do while n < num
   if strs = "综合类" then
    exit do
   end if
   strs = Cstr(.cells(4,n).value)
   Set wrange = .range.Find(What:=strs, After:=.Cells(num, 1), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False, MatchByte:=False, SearchFormat:=False)

   \'这句竟然说编译器错误 1006 缺少\')\',这很莫名其妙吧
   nn = wrange.row
   call block1.createblock("HS300行业",strs)
   for i = n to nn
    str2 = left(cstr(.cells(i,1).value),6)
    str1 = right(cstr(.cells(i,1).value),2)
    call block1.addstock(str1,str2)
   next
   call block1.tosave("HS300行业",strs)
   n = nn + 1
  loop
 end with


--  作者:micro_mok
--  发布时间:2011/8/29 10:31:16
--  
当然我这里有些行列写错的问题,但少了一个括号的错误提示?,这蛮莫名其妙的
--  作者:王锋
--  发布时间:2011/8/29 11:49:28
--  
应该是你这行稀奇古怪的写法把引擎搞傻了
--  作者:micro_mok
--  发布时间:2011/8/29 13:19:01
--  
那请问应该怎么写?这个地方用什么lookup的都不好用呀
--  作者:admin
--  发布时间:2011/8/29 13:22:43
--  

你这是从其他地方抄来的VBA代码把?

金字塔用的是VBS引擎,与OFFICE 的 VBA并非100%兼容,还请你捋清思路,把这地方重新按照你的想法重新写出来为好

[此贴子已经被作者于2011-8-29 13:23:06编辑过]

--  作者:micro_mok
--  发布时间:2011/8/29 13:36:18
--  
这个不算稀奇吧,excel里面的find就是这样用的吧
--  作者:micro_mok
--  发布时间:2011/8/29 13:42:28
--  

是vba代码,但我引用excel对象时,不能使用excel对象里面的方法么?

 

那么如果我要实现excel里面的查找,我应该怎么样?(用excel里面的find,不是worksheetfunction的lookup之类的)


--  作者:micro_mok
--  发布时间:2011/8/29 14:14:26
--  
现在发现是:=在vbs不能用,那应该怎么处理?
--  作者:micro_mok
--  发布时间:2011/8/29 14:15:03
--  
现在发现是:=在vbs不能用,请问应该如何处理
--  作者:王锋
--  发布时间:2011/8/29 14:34:35
--  
在网上搜搜看看相同的实现,用VBS是怎样描述的,应该有资料的把