zoukankan      html  css  js  c++  java
  • C#关闭word时,提示“此文件正由另一个应用程序或用户使用”

    原文地址
    http://www.cnblogs.com/Ss_Andy/archive/2010/09/25/1834386.html
    由于项目需要将一个doc文件转换成一个html文件,同时显示在web页面上.在项目开始前期时,做了Demo后,没有发现什么问题,到真正开始时,问题就来了!
    第一:在转换成html文件后,打开html时,有时会提示文件正在使用之类的,通过强大的谷歌得到的结果是说,由于内存没有及时释放(运行速度问题吧,因为我是有退出了word对象的),那我就让当前程
          序停留半秒Thread.Sleep(500);,果然,问题解决了.一切正常.
    第二:隔后以现,第二个问题又出现了,就是当你本地打开了一个word程序(即使不同个文件),然后再用C#去转换成html,再打开html时,又是报了一个正在使用之类的提示.这时就觉得奇怪了,我本地又没有打开页面上打开的文件.最后发现,我只是退出,没有关闭
    关闭代码:
            object Unknown = Type.Missing;
            docs.Close(ref Unknown, ref Unknown, ref
    Unknown);
    退出代码:
            wordtype.InvokeMember("Quit",
    System.Reflection.BindingFlags.InvokeMethod, null, appclass, null);//退出
    加上关闭后,勉强算是可以实现了,为啥说是勉强呢,因为在打开之前页面之前(就是转换成html成功之后,要退出word的时候),会提示“此文件正由另一个应用程序或用户使用”
    c:\Documents and Settings..\normal.dot
    其实他大概的意思就是你更新了模板,要不要替换之类的吧!这时你打开一个word,选择"工具->模板->把自动更新样式的勾去掉"就行了(网上是这样说的,不过本人试了,公司的电脑这样可以解决问题,但本人的笔记本不能解决),最后在ApplicationClass对象里面,有一个可以保存模板的属性,只要将这个属性设置成true就行了.
    //避免弹出normal.dot被使用的对话框,自动保存模板
    appclass.NormalTemplate.Saved = true;
    下面是主要代码(由于所有代码太多,也没整理,就不贴出来),如果有问题或者不明之处,请与我联系!
    doctype.InvokeMember("SaveAs",
    System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] {
    savefilename, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML
    });//另存为Html格式
    //避免弹出normal.dot被使用的对话框,自动保存模板
    appclass.NormalTemplate.Saved = true; object Unknown = Type.Missing;
     docs.Close(ref Unknown, ref Unknown, ref Unknown); //关闭
     wordtype.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, appclass,
    null);//退出

  • 相关阅读:
    cocos2d-x CCNotificationCenter一个优化想法
    【备忘】尾调用(尾递归)--来自维基百科
    [转] 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始
    [转]编程修养
    DirectX11 SDK 例程报错解决方法
    unity3d Vector3.Lerp解析
    unity3d 三分钟实现简单的赛车漂移
    Unity 5.3.1 No Android/IOS module loaded
    unity3d 音频无缝循环
    unity3d 扩展NGUI Tweener —— TweenTime
  • 原文地址:https://www.cnblogs.com/lujin49/p/2354421.html
Copyright © 2011-2022 走看看