以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- EXCEL文件 操作问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88894) |
-- 作者:凡夫俗子 -- 发布时间:2016/8/11 10:42:00 -- EXCEL文件 操作问题 D:\\123.xls 要求:判断 D:\\123.xls文件是否打开,如果已打开 则强行 直接关闭 D:\\123.xls文件 ,关闭过程中无需任何提示(比如保存)
|
-- 作者:大红袍 -- 发布时间:2016/8/11 10:50:00 -- http://www.foxtable.com/webhelp/scr/2126.htm
http://www.foxtable.com/webhelp/scr/2713.htm
|
-- 作者:凡夫俗子 -- 发布时间:2016/8/11 11:17:00 -- Dim wjm As String ="123.xls" Dim wkm As String = "D:\\" & wjm Output.Show(wkm) If FileIsOpened(wkm)= True Then Output.Show("文件已打开") ShowAppWindow(wjm,5) Else Output.Show("未打开") Dim proc As new Process proc.File = wkm proc.Start End If 这测试代码 其它的所有 都执行正常,唯独这一句 ShowAppWindow(wjm,5) 要关闭 这个文件的代码 没能达到效果。
|
-- 作者:大红袍 -- 发布时间:2016/8/11 11:18:00 -- 红色代码,要写的是你窗口的标题,标题正确,肯定能关闭。
ShowAppWindow("123",5) |
-- 作者:凡夫俗子 -- 发布时间:2016/8/11 11:27:00 -- 谢谢 ,是这个问题 如果 123.xls 在打开后 有所修改,则用 ShowAppWindow("123",5) 这个关闭窗口,会有 提示保存窗口出现,如何不让其 出现这个提示窗口,就直接关闭。 |
-- 作者:大红袍 -- 发布时间:2016/8/11 11:33:00 -- 这样写
Dim wkm As String = "D:\\test.xls" |
-- 作者:凡夫俗子 -- 发布时间:2016/8/11 12:23:00 -- Dim wkm As String = "D:\\123.xlsx" If FileIsOpened(wkm)= True Then Output.Show("文件已打开") Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("excel") For Each p As System.Diagnostics.Process In ps msgbox(p.MainWindowTitle) If p.MainWindowTitle.contains("123") Then p.kill Next Else Output.Show("未打开") Dim proc As new Process proc.File = wkm proc.Start End If 这代码 尚有缺点 一,如果是 先打开 123.xlsx 文件 再打开了其它EXCEL 文件 ,即123.xlsx 文件 非当前活动 EXCEL窗口,则不能关闭123这个WORKBOOK。 二,如果打开了多个 EXCEL WORKBOOK 则本程序 直接杀了 EXCEL程序 其它用户 已打开 的 EXCEL 文件 也会直接杀掉,这是万万不可的。 那么请教一下 写法:
如果123.xlsx 文件已打开了,如何将 123.xlsx这个WORKBOOK 赋值给 Wb了 |
-- 作者:大红袍 -- 发布时间:2016/8/11 12:26:00 -- 不行,没办法。 |
-- 作者:凡夫俗子 -- 发布时间:2016/8/11 16:30:00 -- ![]() ![]() --------------------------- 提示 --------------------------- 文件"c:\\reports\\test.xls"已经被打开,请先关闭之! --------------------------- 确定 --------------------------- 唉这个问题居然 无解!!!!!!!!!
|
-- 作者:大红袍 -- 发布时间:2016/8/11 16:33:00 -- 没办法啊。 |