VB6.0 使用修改過的word宏代碼實作全部替換的功能,但是效率太慢 是什么問題 或者有沒有更效率的辦法
使用宏是為了全部替換一些關鍵字串,然后控制表格的添加行 還有給表格添加內容
wordapp.Selection.Find.ClearFormatting
wordapp.Selection.Find.Replacement.ClearFormatting
For i = 0 To UBound(Tzheng) Step 1
With wordapp.Selection.Find
.Text = Tzheng(i)
.Replacement.Text = Nrong(i)
.Forward = True
'.Wrap = wdFindAsk
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wordapp.Selection.Find.Execute Replace:=wdReplaceAll
StatusBar1.Panels(4).Text = i & "-" & Tzheng(i) & ":" & Nrong(i)
word本身使用一樣的宏速度是秒記 用VB使用修改后的宏代碼就是分鐘計 而且是10分鐘左右……
這是什么為什么呢
我有另一個方法 能比較快得全部替換 但是穩定性不太好 容易出錯
Dim MyWord As Word.Application
Dim MyWordBook As Word.Document
Set MyWord = CreateObject("Word.Application")
Do While MyWordBook.Content.Find.Execute("要被替換的內容")
With MyWordBook.Content
If .Find.Execute("要被替換的內容") Then
.Text = 替換的內容
End If
End With
Loop
而且這個方法使用之后 我不會怎么控制表格和為表格添加內容
希望大家互相討論 看看有什么更好的辦法 效率更快的辦法
uj5u.com熱心網友回復:
僅供參考:Application.ScreenUpdating = False
Application.Interactive = False
uj5u.com熱心網友回復:
試過了 沒效果 就是不知道為什么 相同的代碼 在word宏里執行 就是比在VB程式里執行快多
簡直就是飛機和拖拉機的區別
uj5u.com熱心網友回復:
你試試直接呼叫 Word 中的宏。uj5u.com熱心網友回復:
關閉殺毒軟體的實時防護 ?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/75298.html
標籤:VBA
上一篇:VB中能不能呼叫外部陳述句?
