欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 这个貌似激活没用, 文件窗口打开了,但不显示内

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3253人关注过本帖树形打印复制链接

主题:这个貌似激活没用, 文件窗口打开了,但不显示内

帅哥哟,离线,有人找我吗?
qq代人发帖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
这个貌似激活没用, 文件窗口打开了,但不显示内  发帖心情 Post By:2015/3/6 10:53:17 [只看该作者]

请教:这个貌似激活没用, 文件窗口打开了,但不显示内容

激活的是一个空的EXCEL文件,但是已经打开的文件反而没激活

打开的MM不显示内容。
代码如下:


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
tiantian2888
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2015/2/24 1:10:54
  发帖心情 Post By:2015/3/6 10:59:22 [只看该作者]

补充代码如下:其中打开的文件叫MM.XLSX 。求修改,激活MM窗口,而不是一个空的EXCEL文件。

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








 回到顶部
帅哥哟,离线,有人找我吗?
tiantian2888
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:31 积分:0 威望:0 精华:0 注册:2015/2/24 1:10:54
  发帖心情 Post By:2015/3/6 12:57:26 [只看该作者]

经过多次调试,终于通了,谢谢。。那个ON ERROR 把错误都隐含了。 去了就通了。

 回到顶部