请教高手,为什么我的程序,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
set objCell = ExcelApp.Worksheets(1).Cells(1,1)没有这么用的
Set ExcelApp = GetObject("D:\TradeExcel.xlsx")调用EXCEL的方法错误
看不到msgbox 在哪里
另外,这么点一个小程序,用的着这么多过程吗?调用过程也需要时间的啊。
综合所述:
楼主的代码错误多多。
建议百度 VBS 操作EXCEL,看懂后再写这个东西。
[此贴子已经被作者于2015/3/3 14:47:21编辑过]
谢谢你的回复我原本想:
1.先打开指定excel文件
2.用RegReportNotify注册RM05
3.在MarketData_ReportNotify事件触发时,将RM05的最新价写入制定的单元格A1
我的编程基础不好,能不能麻烦你告诉我怎么实现,帮我修改一下代码,谢谢~