Microsoft Excel で VBA を使用してテキスト ファイル内のテキストを置き換える方法
6361 ワード
この記事では、**Microsoft Excel で**VBA を使用してテキスト ファイル内のテキストを置き換える**方法を学習します.以下にそれらを見てみましょう!!次のリンクから MS Excel の公式バージョンを入手してください: https://www.microsoft.com/en-in/microsoft-365/excel
例
- まず、Excel ワークシートで、[開発者] タブに移動する必要があります.
- 次に、** ** コード セクションで Visual Basic オプションを選択する必要があります.
- 次に、以下のコードをコピーして貼り付ける必要があります.
Sub ReplaceTextInFile(SourceFile As String, _
sText As String, rText As String)
Dim TargetFile As String, tLine As String, tString As String
Dim p As Integer, i As Long, F1 As Integer, F2 As Integer
TargetFile = "RESULT.TMP"
If Dir(SourceFile) = "" Then Exit Sub
If Dir(TargetFile) <> "" Then
On Error Resume Next
Kill TargetFile
On Error GoTo 0
If Dir(TargetFile) <> "" Then
MsgBox TargetFile & _
" already open, close and delete / rename the file and try again.", _
vbCritical
Exit Sub
End If
End If
F1 = FreeFile
Open SourceFile For Input As F1
F2 = FreeFile
Open TargetFile For Output As F2
i = 1 ' line counter
Application.StatusBar = "Reading data from " & _
TargetFile & " ..."
While Not EOF(F1)
If i Mod 100 = 0 Then Application.StatusBar = _
"Reading line #" & i & " in " & _
TargetFile & " ..."
Line Input #F1, tLine
If sText <> "" Then
ReplaceTextInString tLine, sText, rText
End If
Print #F2, tLine
i = i + 1
Wend
Application.StatusBar = "Closing files ..."
Close F1
Close F2
Kill SourceFile ' delete original file
Name TargetFile As SourceFile ' rename temporary file
Application.StatusBar = False
End Sub
Private Sub ReplaceTextInString(SourceString As String, _
SearchString As String, ReplaceString As String)
Dim p As Integer, NewString As String
Do
p = InStr(p + 1, UCase(SourceString), UCase(SearchString))
If p > 0 Then ' replace SearchString with ReplaceString
NewString = ""
If p > 1 Then NewString = Mid(SourceString, 1, p - 1)
NewString = NewString + ReplaceString
NewString = NewString + Mid(SourceString, _
p + Len(SearchString), Len(SourceString))
p = p + Len(ReplaceString) - 1
SourceString = NewString
End If
If p >= Len(NewString) Then p = 0
Loop Until p = 0
End Sub
Sub TestReplaceTextInFile()
ReplaceTextInFile ThisWorkbook.Path & _
"\ReplaceInTextFile.txt", "|", ";"
' replaces all pipe-characters (|) with semicolons (;)
End Sub
- コードを選択して保存し、ウィンドウを閉じる必要があります.
- 繰り返しになりますが、Excel スプレッドシート に移動して、開発者タブ をクリックする必要があります.
- コード セクションで マクロ オプションを選択する必要があります.
- ここで、マクロ名が選択されていることを確認し、*実行* ボタンをクリックする必要があります.
- 最後に、VBA を使用してテキスト ファイル内の置換テキストとして出力を受け取ります.
行の終わり
このチュートリアルが、**Microsoft Excel で VBA を使用してテキスト ファイル内のテキストを置き換える**方法に関するガイドラインを提供することを願っています. 質問があればコメントを残してください.貴重な提案も忘れずに記載してください.当サイトをご覧いただき誠にありがとうございます!! Geek Excel で学習を続けてください !! *Excel Formulas の詳細を読む*!!
次を読む:
- Excel Formulas to Find and Replace Multiple Values ~ Quickly!!
- shortcut to Find and Replace, Replace Selected in Microsoft Excel 365!
- Excel Formulas to Replace One Character with Another ~ Quickly!!
- How to Find and Replace Text in Comments in Excel Office 365?
- How To Use Excel REPLACE Function in Office 365 with Examples?
Reference
この問題について(Microsoft Excel で VBA を使用してテキスト ファイル内のテキストを置き換える方法), 我々は、より多くの情報をここで見つけました https://dev.to/excelgeek/how-to-replace-text-in-a-text-file-using-vba-in-microsoft-excel-4fb1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol