『壹』 VBA判斷txt文件中的內容
Sub讀取文件文件()
'OnErrorResumeNext
DimFileOpen,x%,sr$,n%
FileOpen=Application.GetOpenFilename("文本文件,*.txt",,"選擇文件",,True)
IfTypeName(FileOpen)="Boolean"ThenExitSub
x=1
Whilex<=UBound(FileOpen)
sr=getstr(FileOpen(x))
IfInStr(sr,"apple")>0Then
[A1].Offset(n)=sr
n=n+1
EndIf
x=x+1
Wend
EndSub
Functiongetstr(pFileAsVariant)AsString
DimhFileAsLong
DimsFileAsString'
hFile=FreeFile
OpenpFileForBinaryAshFile
sFile=Space(LOF(hFile))
Get#hFile,,sFile
getstr=sFile
Close
EndFunction
『貳』 excel 通過單元格內容,查找另一文件內容
這要用VBA完成,如下
Sub openfile()
iy = 1
ix = 1
iy = ActiveCell.Row
ix = ActiveCell.Column
Filename = Cells(iy, ix).Value
Workbooks.Open Filename:="C:" & "" & Filename, UpdateLinks:=0
End Sub
在頁面插入如下一個藍方框,在方框上按右鍵,選指定宏,選openfile
然後只要將游標在檔案名上左鍵點一下選取格位,再將游標移到方框左鍵點下,即可打開檔案
『叄』 VBA批量替換多個word文檔中的內容
要想一下子就替換掉很多個WORD文檔中的內容,我們得使用VBA的辦法才能實現,下面是方法,請過目。
一、前期准備
下面是具體操作步驟。
A,首先將需要批量替換的多個Word文檔放在同一文件夾下面。
B,新建一空白Word文檔,右擊空白工具欄,單擊「控制項工具箱」,就可以看到屏幕上調出的控制項工具箱。
C,在控制項工具箱上單擊「命令按鈕」,文檔中就放置了一個按鈕了。
D,雙擊該按鈕,進入VB代碼編寫模式,將以下代碼復制進去。
二、命令按鈕的代碼
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 = "OfficeStudy"
.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
保存上面代碼,退出VB編輯模式,返回Word文檔界面。
單擊選中該按鈕,再單擊控制項工具箱的第一個按鈕「退出設計模式」。
最後,就可以進行測試:再次點擊按鈕,就會發現該文件夾下面的所有WORD文檔中的"OfficeStudy"被替換為""了。
說明:在實際使用中,可以更改上面代碼中的""引號里的字元內容為實際需要批量替換的內容即可。如下所示。
.Text = "OfficeStudy"
.Replacement.Text =
『肆』 EXCEL VBA,想讓一個工作薄中A列的所有名稱,和另一個文件夾里的所有工作薄進行對比。
filename = dir("D:\實驗文件夾\*.xls") 『excel後綴需要注意版本
do while filename <>""
' filename 就是文件名
debug.print filename
filename = dir
loop