易语言吧 关注:266,860贴子:1,667,933
  • 6回复贴,共1

精易模块的 鼠标_监视_安装 (&监测),读取不到我打开的excel文件

只看楼主收藏回复

易语言 创建 excel.application,并打开excel文件后,用程序集变量存储了excel的工作簿对象。如果在子程序里面,直接用工作簿对象就可以读取到打开的excel文件内容,但是在监测子程序里面,读取内容都是空。


IP属地:重庆1楼2025-01-20 19:47回复
    那就把工作簿对象存全局变量里


    IP属地:湖南来自Android客户端2楼2025-01-21 11:21
    收起回复
      2025-12-22 18:06:21
      广告
      不感兴趣
      开通SVIP免广告
      下面是全部代码:
      .版本 2
      .全局变量 工作簿集, 对象
      .全局变量 工作簿, 对象
      .全局变量 工作表集, 对象
      .全局变量 工作表, 对象
      .全局变量 excel窗口, 对象
      .全局变量 excel, 对象
      .版本 2
      .支持库 spec
      .程序集 窗口程序集_启动窗口
      .子程序 _按钮1_被单击
      .局部变量 是否创建excel对象, 逻辑型
      .局部变量 excel文件名, 文本型
      .局部变量 已打开excel文件, 文本型
      .局部变量 工作簿数, 整数型
      .局部变量 工作表数, 整数型
      .局部变量 计次, 整数型
      .局部变量 excel窗口left, 双精度小数型
      .局部变量 excel窗口top, 双精度小数型
      .局部变量 excel窗口width, 双精度小数型
      .局部变量 excel窗口height, 双精度小数型
      .局部变量 文件路径, 文本型
      .局部变量 所选文件_文件夹_excel, 文本型
      .局部变量 初始目录, 文本型
      ' 浏览excel文件
      初始目录 = 取运行目录 ()
      调试输出 (“取运行目录 ()”, 取运行目录 ())
      所选文件_文件夹_excel = 目录_浏览 (“excel”, 真, 初始目录)
      .如果 (所选文件_文件夹_excel = “”)
      调试输出 (“未选择文件、文件夹”)
      .否则
      调试输出 (“选择文件、文件夹:”, 所选文件_文件夹_excel)
      编辑框1.内容 = 所选文件_文件夹_excel
      文件路径 = 所选文件_文件夹_excel
      .如果结束
      ' 创建excel对象
      是否创建excel对象 = excel.创建 (“excel.Application”, )
      调试输出 (“是否创建excel对象”, 是否创建excel对象)
      .如果 (是否创建excel对象 = 假)
      调试输出 (“创建excel对象失败”)
      .否则
      .如果真 (excel.读逻辑属性 (“Visible”, ) = 假)
      excel.写属性 (“Visible”, 真)
      .如果真结束
      ' 打开excel文件
      工作簿集 = excel.读对象型属性 (“Workbooks”, )
      工作簿 = 工作簿集.对象型方法 (“Open”, 文件路径)
      .如果 (工作簿.是否为空 ())
      调试输出 (“打开excel文件失败”)
      .否则
      调试输出 (“打开excel文件成功”)
      调试输出 (“工作簿是否为空:”, 工作簿集.是否为空 ())
      调试输出 (“工作簿名-1:”, 工作簿.读文本属性 (“FullName”, ))
      工作簿集 = excel.读对象型属性 (“Workbooks”, )
      工作表集 = 工作簿.读对象型属性 (“Worksheets”, )
      excel窗口 = excel.读对象型属性 (“ActiveWindow”, )
      调试输出 (“读对象型属性 excel是否为空”, excel.是否为空 ())
      调试输出 (“读对象型属性 eexcel窗口是否为空”, excel窗口.是否为空 ())
      调试输出 (“读对象型属性 工作簿集是否为空”, 工作簿集.是否为空 ())
      调试输出 (“读对象型属性 工作簿是否为空”, 工作簿.是否为空 ())
      调试输出 (“读对象型属性 工作表集是否为空 ()”, 工作表集.是否为空 ())
      调试输出 (“读对象型属性 工作表集Item是否为空 ()”, 工作表集.读对象型属性 (“Item”, 1).是否为空 ())
      调试输出 (“读对象型属性 Parent是否为空”, 工作簿.读对象型属性 (“Parent”, ).是否为空 ())
      调试输出 (“读对象型属性 Parent-Windows是否为空”, 工作簿.读对象型属性 (“Parent”, ).读对象型属性 (“Windows”, ).是否为空 ())
      调试输出 (“读对象型属性 Application-Windows是否为空”, 工作簿.读对象型属性 (“Application”, ).读对象型属性 (“Windows”, ).是否为空 ())
      调试输出 (“读对象型属性 Application-ActiveWindow是否为空”, 工作簿.读对象型属性 (“Application”, ).读对象型属性 (“ActiveWindow”, ).是否为空 ())
      调试输出 (“读对象型属性 excel-ActiveWindow是否为空”, excel.读对象型属性 (“ActiveWindow”, ).是否为空 ())
      调试输出 (“读对象型属性 excel-Windows是否为空”, excel.读对象型属性 (“Windows”, ).是否为空 ())
      调试输出 (“读对象型属性 excel-Windows(1)是否为空 ()”, excel.读对象型属性 (“Windows”, ).读对象型属性 (“Item”, 1).是否为空 ())
      .如果结束
      .如果结束
      鼠标_监视_安装 (&监视子程序)
      .子程序 监视子程序
      .参数 键类型, 整数型
      .参数 键状态, 整数型
      .参数 窗口句柄_坐标_x_y_指针, 整数型
      .如果真 (键类型 = 1 且 键状态 = 2)
      调试输出 (“读对象型属性 excel是否为空2”, excel.是否为空 ())
      调试输出 (“读对象型属性 eexcel窗口是否为空2”, excel窗口.是否为空 ())
      调试输出 (“读对象型属性 工作簿集是否为空2”, 工作簿集.是否为空 ())
      调试输出 (“读对象型属性 工作簿是否为空2”, 工作簿.是否为空 ())
      调试输出 (“读对象型属性 工作表集是否为空2”, 工作表集.是否为空 ())
      调试输出 (“读对象型属性 工作表集Item是否为空2”, 工作表集.读对象型属性 (“Item”, 1).是否为空 ())
      调试输出 (“读对象型属性 Parent是否为空2”, 工作簿.读对象型属性 (“Parent”, ).是否为空 ())
      调试输出 (“读对象型属性 Parent-Windows是否为空2”, 工作簿.读对象型属性 (“Parent”, ).读对象型属性 (“Windows”, ).是否为空 ())
      调试输出 (“读对象型属性 Application-Windows是否为空2”, 工作簿.读对象型属性 (“Application”, ).读对象型属性 (“Windows”, ).是否为空 ())
      调试输出 (“读对象型属性 Application-ActiveWindow是否为空2”, 工作簿.读对象型属性 (“Application”, ).读对象型属性 (“ActiveWindow”, ).是否为空 ())
      调试输出 (“读对象型属性 excel-ActiveWindow是否为空2”, excel.读对象型属性 (“ActiveWindow”, ).是否为空 ())
      调试输出 (“读对象型属性 excel-Windows是否为空2”, excel.读对象型属性 (“Windows”, ).是否为空 ())
      调试输出 (“读对象型属性 excel-Windows(1)是否为空2”, excel.读对象型属性 (“Windows”, ).读对象型属性 (“Item”, 1).是否为空 ())
      .如果真结束
      .子程序 __启动窗口_将被销毁
      鼠标_监视_卸载 ()
      工作簿.方法 (“Close”, )
      工作簿集.方法 (“Close”, )
      excel.方法 (“Quit”, )
      excel.清除 ()


      IP属地:重庆4楼2025-01-22 11:46
      回复
        线程里需要需要先初始化com对象,这个命令精易模块就有


        IP属地:江西来自Android客户端5楼2025-01-29 11:12
        收起回复