闲来无事想做个批量修改Word文件页边距的小工具,可是遇到如下问题:
Dim strPath As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = False
    Set WordDoc = WordApp.Documents.Open(strPath)
    WordDoc.PageSetup.RightMargin = InchesToPoints(2 / 2.54)'设置边距
    ....    
    WordDoc.Save
    WordDoc.Close
    
    Set WordDoc = Nothing
    WordApp.Quit
    Set WordApp = Nothing
    
1.第一次调用成功,后续循环该操作报错‘462’
2.有时调用成功修改4个doc文件,就会在进程中出现4个word.exe进程

解决方案 »

  1.   

    你的 for  ,next 呢 ?看你没写就知道写错 了
      

  2.   

    每次执行,要保证 WordApp.Quit被执行到。
      
    --------------------------------------------------------------
    程序,犹如人生。
      

  3.   

    晕死!~各位我不是什么菜鸟这些东西还是知道的。什么for next 一楼你以为我在这些九九乘法表呢!以上只是部分代码!我的意思是如果批量处理用循环的方式实现,调用一次后能成功。当再次调用过程时就失败,‘462’错误
      

  4.   

    我程序是调用EXCEL的,一天能打开几百次EXCEL不过运行是正常的,我是用的NEW方法新建EXCEL对象的,剩下的基本一样,你这种方法也没什么错,HEHE