Asenda tekst tekstifailis, kasutades Microsoft Excelis VBA -d

Lang L: none (table-of-contents)

Allolevaid makrosid saab kasutada tekstifailis teksti asendamiseks,
nt. kui soovite tekstifailis veerueraldajat muuta
enne selle importimist Exceli töölehele või pärast töölehe eksportimist tekstifaili.

Sub ReplaceTextInFile (SourceFile kui string, _ sText kui string, rText kui string) Dim TargetFile kui string, tLine kui string, tString kui string Dim p täisarvuna, i nii pikk, F1 täisarvuna, F2 täisarvuna TargetFile = "RESULT.TMP "If Dir (SourceFile) =" "Siis Exit Sub If Dir (TargetFile)" "Siis tõrke korral Jätka järgmisel tapmisel TargetFile On Error GoTo 0 Kui Dir (TargetFile)" "Siis MsgBox TargetFile & _" on juba avatud, sulgege ja kustutage / nimetage fail ümber ja proovige uuesti. ", _ vbCritical Exit Sub End End End Kui F1 = FreeFile Open SourceFile sisendiks kui F1 F2 = FreeFile Open TargetFile Väljundiks kui F2 i = 1 'rea loendur Application.StatusBar =" Andmete lugemine " & _ TargetFile & "…" Kuigi pole EOF (F1) Kui i Mod 100 = 0 Siis Application.StatusBar = _ "Read read #" & i & "in" & _ TargetFile & "…" Line Input #F1, tLine If sText "" Seejärel asendaTextInString tLine, sText, rText End If Print #F2, tLine i = i + 1 Wend Application.StatusBar = "Failide sulgemine …" Sulge F1 Sulge F2 Kill SourceFile 'kustuta või iginalfaili nimi TargetFile As SourceFile 'nimetage ajutine fail ümber Application.StatusBar = False End Sub 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)) Kui p> 0, siis asendage SearchString asendusega 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 Kui p> = Len (NewString) Siis p = 0 Loop Kuni p = 0 Lõpeta alam alam TestReplaceTextInFile () ReplaceTextInFile ThisWorkbook.Path & _ "\ ReplaceInTextFile.txt", "|", ";" 'asendab kõik torumärgid (|) semikoolonitega (;) End Sub

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave