由于作業需要,要將某個檔案夾內多個word檔案內的某個內容進行更換,從晚上了解到一段VB代碼,希望同控制元件按鈕進行更換,但是由于我的是office15,所以出現一寫問題:
1、在需要更換的檔案檔案夾內建立了一個*.docx(office2013檔案),
2、通過開發工具建立了一個控制元件按鈕,雙擊撰寫代碼如下:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim myPas As String, myPath As String, i As Integer, myDoc As Document
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "選擇目標檔案夾"
If .Show = -1 Then
myPath = .SelectedItems(1)
Else
Exit Sub
End If
End With
myPas = InputBox("請輸入打開密碼:")
With Application.FileSearch
.LookIn = myPath
.FileType = msoFileTypeWordDocuments
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Set myDoc = Documents.Open(FileName:=.FoundFiles(i), Passworddocument:=myPas)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "劉延煥"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
myDoc.Save
myDoc.Close
Set myDoc = Nothing
Next
End If
End With
Application.ScreenUpdating = True
End Sub
在結束后取消設計模式,運行,選擇檔案夾、輸入密碼后顯示錯誤代碼5111,
除錯時發現with application.filesearch呈黃色顯示在此平臺不可用。
針對我這樣的小白,希望各位大師能夠幫幫忙。
uj5u.com熱心網友回復:
with不能嵌套. 只能一層.uj5u.com熱心網友回復:
是的,不能用了,你的代碼只能在2003里面用。不然你再找找吧,網上代碼多了去了。
uj5u.com熱心網友回復:
可以嵌套的。
Office 15中,有 Application.FileSearch這個物件?
反正我的 Office12 (2007)中,是沒有的。

uj5u.com熱心網友回復:
可以么? 我以前有看到過說只能一層的. 所以從來也沒有用過嵌套.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/136417.html
標籤:控件
上一篇:突破950軟體怎么 下載不了
下一篇:新手 請教 錄入成績表
