在c#里如何判断一个excel文件是否已被打开

hbzxy 2010-03-25 02:50:36
请高手赐教,谢谢。
...全文
1663 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanxing425 2011-04-14
  • 打赏
  • 举报
回复
学习了,正在用
MR-SanDianYiSi 2010-03-25
  • 打赏
  • 举报
回复
调用系统API函数,判断句柄,是否可用。貌似!
lianyi68 2010-03-25
  • 打赏
  • 举报
回复
路過。。。
hbzxy 2010-03-25
  • 打赏
  • 举报
回复
试了半天终于找到一个还算比较满意的方法(下面是简单示意):

Excel.Application app = new Excel.Application();
Workbooks wbs = app.Workbooks;
_Workbook wb = wbs._Open("file",...);
if(wb.ReadOnly)
{
MessageBox.Show("文件只读,可能已被打开");
return;
}
hbzxy 2010-03-25
  • 打赏
  • 举报
回复
c#不能调用Excel相关的函数判断吗?
qlzf11140820 2010-03-25
  • 打赏
  • 举报
回复
需要区分文件是独占还是共享 使用API检测相关进程 lz可以试试
deyter 2010-03-25
  • 打赏
  • 举报
回复 2

try
{
File.Move(@"c:\1.txt", @"c:\1.txt", );
MessageBox("没打开");
}
catch
{
MessageBox("打开");
}
deyter 2010-03-25
  • 打赏
  • 举报
回复 1
用File.Move去移动它
没出错就没有打开

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧