Aizstājiet tekstu teksta failā, izmantojot Microsoft Excel VBA

Satura rādītājs

Tālāk norādītos makro var izmantot, lai aizstātu tekstu teksta failā,
piem. ja vēlaties mainīt kolonnu atdalītāju teksta failā
pirms tās importēšanas Excel darblapā vai pēc darblapas eksportēšanas uz teksta failu.

Sub ReplaceTextInFile (SourceFile kā virkne, _ sText kā virkne, rText kā virkne) Dim TargetFile kā virkne, tLine kā virkne, tString kā virkne Dim p kā vesels skaitlis, i tik garš, F1 kā vesels skaitlis, F2 kā vesels skaitlis TargetFile = "RESULT.TMP "If Dir (SourceFile) =" "Pēc tam iziet no Sub If Dir (TargetFile)" "Tad pēc kļūdas Atsākt nākamo nogalināt TargetFile On Error GoTo 0 Ja Dir (TargetFile)" "Tad MsgBox TargetFile & _" jau ir atvērts, aizveriet un izdzēsiet / pārdēvējiet failu un mēģiniet vēlreiz. ", _ vbCritical Exit Sub End End End, ja F1 = FreeFile Open SourceFile ievadīšanai kā F1 F2 = FreeFile Open TargetFile, lai ievadītu kā F2 i = 1 'rindas skaitītājs Application.StatusBar =" Nolasot datus no " & _ TargetFile & "…" Kamēr nav EOF (F1) Ja i Mod 100 = 0, tad Application.StatusBar = _ "Rindas #" & i & "lasīšana sadaļā" & _ TargetFile & "…" Line Input #F1, tLine If sText "" Tad ReplaceTextInString tLine, sText, rText End If Print #F2, tLine i = i + 1 Wend Application.StatusBar = "Notiek failu aizvēršana …" Aizvērt F1 Aizvērt F2 Kill SourceFile 'dzēst vai iginal faila nosaukums TargetFile As SourceFile "pārdēvēt pagaidu failu Application.StatusBar = False End Sub Private Sub ReplaceTextInString (SourceString kā virkne, _ SearchString kā virkne, ReplaceString kā virkne) Dim p kā vesels skaitlis, NewString kā virkne Do p = InStr (p + 1 , UCase (SourceString), UCase (SearchString)) Ja p> 0 Tad 'aizstāt SearchString ar 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 beigas Ja, ja p> = Len (NewString), tad p = 0 Loop līdz p = 0 Beigt apakšapakšpārbaudiReplaceTextInFile () ReplaceTextInFile ThisWorkbook.Path & _ "\ ReplaceInTextFile.txt", "|", ";" 'aizstāj visas cauruļu rakstzīmes (|) ar semikoliem (;) End Sub

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave