以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]请教高手,为什么我的程序,Excel可以打开,单元格“A1”不显示  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=76076)

--  作者:REYH
--  发布时间:2015/3/3 10:13:21
--  [求助]请教高手,为什么我的程序,Excel可以打开,单元格“A1”不显示
请教高手,为什么我的程序,Excel可以打开,用的是Excel2010
Msgout显示正常,但是单元格“A1”不显示,也没反应

public ExcelApp 
public objCell
Sub APPLICATION_VBAStart()
      Call OpenExelFile
      set objCell = ExcelApp.Worksheets(1).Cells(1,1)
      Call MarketData.RegReportNotify("RM05","ZQ")
End Sub

Sub MarketData_ReportNotify(ReportData)
    dim NewPrice
    dim sLabel
    On Error Resume Next
    NewPrice = ReportData.NewPrice
    sLabel = ReportData.Label
    If sLabel = "RM05" then
        objCell.value = NewPrice
    End if
    Application.Msgout Cdate(time) & ",Code:" & sLabel & ",NewPrice:" & NewPrice
End Sub

Sub OpenExcelFile()
      On Error Resume Next
      Set ExcelApp = GetObject("D:\\TradeExcel.xlsx")
      ExcelApp.Parent.Windows("TradeExcel.xlsx").Activate
      ExcelApp.Application.DisplayFormulaBar=False
      If ExcelApp.Application.Visible = False then
             ExcelApp.Application.Visible = True
      End if
      ExcelApp.Application.DisplayAlerts=False 
End Sub

--  作者:pel46585
--  发布时间:2015/3/3 14:45:35
--  

set objCell = ExcelApp.Worksheets(1).Cells(1,1)没有这么用的

Set ExcelApp = GetObject("D:\\TradeExcel.xlsx")调用EXCEL的方法错误

看不到msgbox 在哪里

另外,这么点一个小程序,用的着这么多过程吗?调用过程也需要时间的啊。

 

综合所述:

楼主的代码错误多多。

建议百度 VBS 操作EXCEL,看懂后再写这个东西。

 

[此贴子已经被作者于2015/3/3 14:47:21编辑过]

--  作者:REYH
--  发布时间:2015/3/3 15:18:55
--  回复:(pel46585)set objCell = ExcelApp.Worksheet...
谢谢你的回复
我原本想:
       1.先打开指定excel文件
       2.用RegReportNotify注册RM05
       3.在MarketData_ReportNotify事件触发时,将RM05的最新价写入制定的单元格A1

       我的编程基础不好,能不能麻烦你告诉我怎么实现,帮我修改一下代码,谢谢~