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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 如何使用一个"已经"打开的workbook

   

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


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

主题:如何使用一个"已经"打开的workbook

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2014/6/10 11:35:18
如何使用一个"已经"打开的workbook  发帖心情 Post By:2014/6/13 15:03:09 [显示全部帖子]

 我已经打开了excel的test.xlsx文件. 目的是想让VBS macro 更新其中的一个CELL, 比如 cells(2,2)

 Set objExcel = GetObject("", "Excel.Application") -- okay 可以定义application, 但workbook却遇到问题

我不想用workbooks.add 或workbook.open 因为我必须用"已经"打开的一个固定的workbook (test.xlsx),不想用一个新的workbook.

我试过active workbook, this workbook, work activate (看下面例子) 但都出现错误. 请帮助一下!

谢谢

' Workbooks(sfname).Sheets("Sheets1").Activate

' objExcel.Application.Workbooks(sfname).Activate()

' set wkb  =  objExcel.Excel.Workbooks(1)
' objExcel.ActiveWorkbook.Sheets(1).Select
' objExcel.ActiveWorkbook.Activesheet

 '   Set wkb = objExcel.Workbooks(1)
 Set wkb = Workbooks(1).Worksheets(1)
 '    wkb.Activate
'    Set wks = wkb.ActiveSheet
'    objExcel.Visible = True
'    wks.Activate
 
'  set wkbname = ActiveWorkbook.Name
 '  objExcel.Workbooks(sfname).Activate
' activeworkbook.sheets(1).select()
    worksheets("Sheet1").Activate
'set xlBook = objExcel.WorkBooks.Open(filename)
'set xlSht = objExcel.activesheet
 
' objExcel.WorksSheets( "Sheet1" ).Activate
'  Dim wkb As Workbook
'  set  wkb = objExcel.Workbooks(1)
 
  objExcel.Visible = True
'  set objExcel.Workbooks(1).Sheets(1).Cells(2,2).Value = 100
 
'  Set wkb = objExcel.Application.Workbooks(1)
'  wkb.Activate
'  objExcel.WorkBooks.Add

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2014/6/10 11:35:18
  发帖心情 Post By:2014/6/13 15:55:52 [显示全部帖子]

 十万火急,请各位大侠尽快帮忙,,多谢了!!

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2014/6/10 11:35:18
  发帖心情 Post By:2014/6/13 16:21:57 [显示全部帖子]

 实际上我想做的就是每当海龟系统发出信号时,让金字塔在“已经”打开的excel文件中如何写入一个简单的“1”字。关键是excel文件必须打开,因为别的程序需要用它。

谢谢

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2014/6/10 11:35:18
  发帖心情 Post By:2014/6/13 19:54:57 [显示全部帖子]

 图片点击可在新窗口打开查看

非常感谢你的回复, 我刚刚试过,但它说该excel文件已经打开了被锁住。


 
 strSheet = "Sheet1"
 filename = "C:\Users\Public\test2.xlsx"
 sfname = "test2.xlsx"

  Set objExcel = GetObject("", "Excel.Application")
  Set objExcel = GetObject(filename)
 
    objExcel.Application.Visible = True
    objExcel.Application.ScreenUpdating = True
    objExcel.Parent.Windows(1).Activate
    objExcel.Application.Sheets(1).Visible=true

  objExcel.Cells(2, 2) = "1"


谢谢


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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2014/6/10 11:35:18
  发帖心情 Post By:2014/6/16 12:24:59 [显示全部帖子]

 谢谢你的程序,直接写出程序反映你对用户的认真负责的态度,多谢!!!
我导入了你的vbs文件,同时打开我的test.xlsx,和打开金字塔IF价格但还是看到一个新的标有”excel“名字的excel文件,原来的test.xlxs还是没有被更新,新的excel也只是灰色的界面看不到任何cells。

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2014/6/10 11:35:18
  发帖心情 Post By:2014/6/16 12:27:36 [显示全部帖子]

请看我的屏幕截图。多谢


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

 回到顶部