VB 操作WORD函数实例 说明,用VB操作WORD,以下源码第一次操作完全正常,正常打开,正常替换,正常退出。进程中并没有留下windword的进程,但第二次继续操作时就出问题,运行到ReplaceWord()就出现462错误,关闭程序重新开始又正常。
'=============打开word============== Dim wordApp As Word.Application Dim wordDoc As Word.Document Function OpenWord(FileName) '打开指定word文档 Set wordApp =New Word.Application Set wordDoc = wordApp.Documents.Open(FileName) wordApp.Visible = False Set wordDoc = wordApp.Documents.Open(FileName) End Function ‘============替换关键字=========== '==================另存为=================== Function SaveAsWord(DiskStr, NameStr) '===================清除对象============ 使用 Nothing 关键字将对象变量从实际对象中分离开来,但这并不意味着实际对象的消失。举一个例子 ,新建两个窗体,在 Form1 上放一个按钮,再在其 Click 事件中写入: 运行后,点击 Form1 上的按钮,你会看到,Form2 好端端的在那里摆着,并没有消失,但是,如果你再点一次,会发现,又出现了一个 Form2 再回到你的代码,同理,
Set wordDoc = Nothing '清除文件实例 Set wordApp = Nothing '清除WORD实例 并没有关闭 Word,你可以把 wordApp.Visible = False 改成wordApp.Visible = True 再试试你的代码,会发现,调用OpenWord后,出现了一个Word窗口 调用CloseWord后,Word 并未发生变化 但是,如果此时你调用SaveAsWord或ReplaceWord,会发生错误, 原因是 WordDoc 与 WordApp 现在已经没有指向已经打开的那个 Word 文档 与 Word 程序. 但是,如果此时你再调用 OpenWord,你就可以看到为什么调用SaveAsWord或ReplaceWord,会发生错误,此时是因为文档已经被打开了,为了关闭 Word,你可以使用下面的代码: wordDoc.Close '关闭 Word 文档 wordApp.Quit '退出 Word 但由于你的 WordApp 是隐藏的,所以最好使用下面的代码 如果你在 Word 程序 中同时打开数个 Word 文档,那么可以使用 |
|