精易论坛

标题: 根据窗口句柄取excel文档的路径 [打印本页]

作者: mcscm    时间: 2025-4-19 15:31
标题: 根据窗口句柄取excel文档的路径
打开了多个excel文档,现在已经将各个文档的窗口句柄取到,每个文档的句柄都不一样,怎样通过句柄来取出excel文档的路径,不是excel.exe的路径
我使用了先取进程再取路径的方法,但不对,取出来的是excel.exe的路径,不是文档的路径:
pid = 窗口_句柄取进程ID (窗口句柄)编辑框1.内容 = 进程_取路径 (pid)






作者: 807926961    时间: 2025-4-20 03:54
用精易模块的    进程_取程序目录(进程ID)  ,通过句柄就能取它的进程ID的
作者: mcscm    时间: 2025-4-22 18:22
807926961 发表于 2025-4-20 03:54
用精易模块的    进程_取程序目录(进程ID)  ,通过句柄就能取它的进程ID的

取出来的还是excel.exe的路径,不是文档的路径
作者: lisher    时间: 2025-4-25 12:06
  
子程序名返回值类型公开备 注
获取打开的Excel文件  
变量名类 型静态数组备 注
工作簿集合对象 
工作簿对象 
工作簿数量整数型 
i整数型 
文件名文本型 
文件路径文本型 
' 获取正在运行的Excel
Excel应用.获取 (“Excel.Application”)
如果 (Excel应用.是否为空 ())
信息框 (“未找到正在运行的Excel应用程序!”, 0, “错误”, )
返回 ()
信息框 (“成功连接到Excel应用程序!”, 0, “提示”, )

' 获取所有打开的工作簿
工作簿集合 = Excel应用.读对象型属性 (“Workbooks”, )
工作簿数量 = 工作簿集合.读数值属性 (“Count”, )
' 遍历所有工作簿
计次循环首 (工作簿数量, i)
工作簿 = 工作簿集合.读对象型属性 (“Item”, i)
文件名 = 工作簿.读文本属性 (“Name”, )
文件路径 = 工作簿.读文本属性 (“FullName”, )
信息框 (“工作簿 ”到文本 (i)“:”#换行符“文件名: ” + 文件名 + #换行符“路径: ” + 文件路径, 0, “Excel文件信息”, )
工作簿.清除 ()  ' 释放对象
计次循环尾 ()
' 释放COM对象
工作簿集合.清除 ()
Excel应用.清除 ()


作者: 807926961    时间: 2025-4-27 02:21
mcscm 发表于 2025-4-22 18:22
取出来的还是excel.exe的路径,不是文档的路径

那就取这个进程的命令行,里面肯定有这个文档的路径
作者: mcscm    时间: 2025-5-24 07:49
lisher 发表于 2025-4-25 12:06
[e=0].版本 2

.子程序 获取打开的Excel文件

Excel应用.获取 (“Excel.Application”)运行时提示错误: 找不到指定的变量名称“Excel应用”,这个变量是个什么类型?
作者: lisher    时间: 2025-5-24 08:11
mcscm 发表于 2025-5-24 07:49
Excel应用.获取 (“Excel.Application”)运行时提示错误: 找不到指定的变量名称“Excel应用”,这个变量 ...

对象 类型
作者: sun0o0sun    时间: 2025-6-23 11:40
取文档的路径的话需要用到EXCEL类吧,窗口句柄怎么能取呢?





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4