PUBLIC myxl
Function lsgd(Formula,strocode)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
lsgd=0
Set abc = CreateObject("scripting.filesystemobject")
GetExcelFile("D:\mm.xlsx")
'call application.MsgOut("23323")
End Function
Sub GetExcelFile(sFileName)
Dim sWinName '窗口名
Dim iPos
'测试 Microsoft Excel 的副本是否在运行。
On Error Resume Next '延迟错误捕获。
'不带第一个参数调用 Getobject 函数将
'返回对该应用程序的实例的引用。
'如果该应用程序不在运行,则会产生错误。
Set MyXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set MyXL = CreateObject("Excel.Application")
End if
'将对象变量设为对要看的文件的引用。
Set MyXL = GetObject(sFileName)
iPos = InStrRev(sFileName, "\", -1, vbTextCompare)
sWinName = Mid(sFileName, iPos + 1, Len(sFileName) - iPos) '这个使用 sWinName = Mid(sFileName, iPos + 1, Len(sFileName) - iPos-5)也不对
Function lsgd(Formula,strocode)
'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
lsgd=0
Set abc = CreateObject("scripting.filesystemobject")
GetExcelFile("D:\mm.xlsx")
'call application.MsgOut("23323")
End Function
Sub GetExcelFile(sFileName)
Dim sWinName '窗口名
Dim iPos
'测试 Microsoft Excel 的副本是否在运行。
On Error Resume Next '延迟错误捕获。
'不带第一个参数调用 Getobject 函数将
'返回对该应用程序的实例的引用。
'如果该应用程序不在运行,则会产生错误。
Set MyXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set MyXL = CreateObject("Excel.Application")
End if
'将对象变量设为对要看的文件的引用。
Set MyXL = GetObject(sFileName)
iPos = InStrRev(sFileName, "\", -1, vbTextCompare)
sWinName = Mid(sFileName, iPos + 1, Len(sFileName) - iPos)
'msgbox swinname
'设置其 Application 属性,显示 Microsoft Excel。
'然后使用 MyXL 对象引用的 Windows 集合
'显示包含该文件的实际窗口。
MyXL.Application.Visible = true
MyXL.Application.ScreenUpdating = True
'AppActivate swinName
MyXL.Parent.Windows(1).Activate
MyXl.Application.Sheets(1).Visible=true
End Sub
'msgbox swinname
'设置其 Application 属性,显示 Microsoft Excel。
'然后使用 MyXL 对象引用的 Windows 集合
'显示包含该文件的实际窗口。
MyXL.Application.Visible = true
MyXL.Application.ScreenUpdating = True
'AppActivate swinName
MyXL.Parent.Windows(1).Activate
MyXl.Application.Sheets(1).Visible=true
End Sub