一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

VB 操作WORD函數(shù)實例

 Vb技巧 2013-01-03

VB  操作WORD函數(shù)實例

    說明,用VB操作WORD,以下源碼第一次操作完全正常,正常打開,正常替換,正常退出。進程中并沒有留下windword的進程,但第二次繼續(xù)操作時就出問題,運行到ReplaceWord()就出現(xiàn)462錯誤,關(guān)閉程序重新開始又正常。
'=============打開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

‘============替換關(guān)鍵字===========
Function ReplaceWord(SearchStr, ReplaceStr) '全部替換函數(shù)
    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 關(guān)鍵字將對象變量從實際對象中分離開來,但這并不意味著實際對象的消失。舉一個例子 ,新建兩個窗體,在 Form1 上放一個按鈕,再在其 Click 事件中寫入:
Form2.Show
'在這里,VB 默認(rèn)創(chuàng)建了一個 Form2 的實例,就像調(diào)用了
'Set Form2 = New Form2
Set Form2 = Nothing

運行后,點擊 Form1 上的按鈕,你會看到,F(xiàn)orm2 好端端的在那里擺著,并沒有消失,但是,如果你再點一次,會發(fā)現(xiàn),又出現(xiàn)了一個 Form2
原因是,VB 會自動創(chuàng)建 Form2 的實例,而由于調(diào)用了 Set Form2 = Nothing, 所以下次調(diào)用時,VB 會自動創(chuàng)建一個 Form2 的實例,以前那個打開的 Form2 是無法在其他模塊中調(diào)用的.

再回到你的代碼,同理,
Set wordDoc = Nothing '清除文件實例
Set wordApp = Nothing '清除WORD實例
并沒有關(guān)閉 Word,你可以把
wordApp.Visible = False
改成wordApp.Visible = True
再試試你的代碼,會發(fā)現(xiàn),調(diào)用OpenWord后,出現(xiàn)了一個Word窗口
調(diào)用CloseWord后,Word 并未發(fā)生變化
但是,如果此時你調(diào)用SaveAsWord或ReplaceWord,會發(fā)生錯誤, 原因是 WordDoc 與 WordApp 現(xiàn)在已經(jīng)沒有指向已經(jīng)打開的那個 Word 文檔 與 Word 程序.

但是,如果此時你再調(diào)用 OpenWord,你就可以看到為什么調(diào)用SaveAsWord或ReplaceWord,會發(fā)生錯誤,此時是因為文檔已經(jīng)被打開了,為了關(guān)閉 Word,你可以使用下面的代碼:
wordDoc.Close '關(guān)閉 Word 文檔
wordApp.Quit '退出 Word

但由于你的 WordApp 是隱藏的,所以最好使用下面的代碼
wordDoc.Close True '關(guān)閉 Word 文檔并保存更改
wordApp.Quit '退出 Word

如果你在 Word 程序 中同時打開數(shù)個 Word 文檔,那么可以使用
wordApp.Quit True '退出 Word 并保存所有打開文檔的更改

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲最大的中文字幕在线视频 | 日韩精品免费一区三区| 日本视频在线观看不卡| 午夜国产精品国自产拍av| 欧美人妻少妇精品久久性色| 在线中文字幕亚洲欧美一区| 国产精品蜜桃久久一区二区| 国产av精品高清一区二区三区| 色婷婷视频在线精品免费观看| 欧美日韩免费黄片观看| 又色又爽又黄的三级视频| 国产午夜福利在线观看精品| 91人妻人澡人人爽人人精品| 毛片在线观看免费日韩| 经典欧美熟女激情综合网| 国产精品免费视频视频| 欧美日韩精品一区二区三区不卡| 国产欧美性成人精品午夜| 在线观看国产午夜福利| 国产一级一片内射视频在线| 欧美日韩精品人妻二区三区| 超薄丝袜足一区二区三区| 粉嫩国产一区二区三区在线| 日韩一级毛一欧美一级乱| 日韩在线免费看中文字幕| 久久热这里只有精品视频| 欧美成人一区二区三区在线| 欧美三级大黄片免费看| 无套内射美女视频免费在线观看| 我想看亚洲一级黄色录像| 又色又爽又黄的三级视频| 欧美一级黄片欧美精品| 欧美野外在线刺激在线观看| 欧美日韩国产精品黄片| 国产成人精品午夜福利av免费| 美女黄片大全在线观看| 成人免费视频免费观看| 欧美激情中文字幕综合八区| 91麻豆视频国产一区二区| 国产精品欧美一级免费| 粉嫩国产美女国产av|