VB 操作WORD函数实例
‘============替换关键字===========
Function ReplaceWord(SearchStr, ReplaceStr) '全部替换函数
wordApp.Selection.Find.ClearFormatting
wordApp.Selection.Find.Replacement.ClearFormatting
With wordApp.Selection.Find
.Text = SearchStr
.Replacement.Text = ReplaceStr
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wordApp.Selection.Find.Execute Replace:=wdReplaceAll
End Function
'==================另存为===================
Function SaveAsWord(DiskStr, NameStr)
ChangeFileOpenDirectory DiskStr
ActiveDocument.SaveAs FileName:=NameStr, FileFormat:=wdFormatDocument , LockComments:=False, _
Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False,_
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False,_
SaveAsAOCELetter:= False
Application.Documents.Close
Application.Quit
End Function
'===================清除对象============
Function CloseWord()
Set wordDoc = Nothing '清除文件实例
Set wordApp = Nothing '清除WORD实例
End Function
使用 Nothing 关键字将对象变量从实际对象中分离开来,但这并不意味着实际对象的消失。举一个例子 ,新建两个窗体,在 Form1 上放一个按钮,再在其 Click 事件中写入:
Form2.Show
'在这里,VB 默认创建了一个 Form2 的实例,就像调用了
'Set Form2 = New Form2
Set Form2 = Nothing
运行后,点击 Form1 上的按钮,你会看到,Form2 好端端的在那里摆着,并没有消失,但是,如果你再点一次,会发现,又出现了一个 Form2
原因是,VB 会自动创建 Form2 的实例,而由于调用了 Set Form2 = Nothing, 所以下次调用时,VB 会自动创建一个 Form2 的实例,以前那个打开的 Form2 是无法在其他模块中调用的.
但由于你的 WordApp 是隐藏的,所以最好使用下面的代码
wordDoc.Close True '关闭 Word 文档并保存更改
wordApp.Quit '退出 Word
如果你在 Word 程序 中同时打开数个 Word 文档,那么可以使用
wordApp.Quit True '退出 Word 并保存所有打开文档的更改
联系客服