0
我有大約600個不同的文本字符串,我需要在XML文件內進行替換(我正在使用記事本++,但如果這可以完成任務,我也可以使用其他程序)。文本更改列在一個單獨的Excel文件中。有沒有辦法讓我可以運行一個腳本或命令來查找/替換一個鏡頭中的所有字符串,而無需單獨執行每個字符串?如何在xml文件中查找/替換多個字符串?
謝謝
我有大約600個不同的文本字符串,我需要在XML文件內進行替換(我正在使用記事本++,但如果這可以完成任務,我也可以使用其他程序)。文本更改列在一個單獨的Excel文件中。有沒有辦法讓我可以運行一個腳本或命令來查找/替換一個鏡頭中的所有字符串,而無需單獨執行每個字符串?如何在xml文件中查找/替換多個字符串?
謝謝
你可以使用一些簡單的VBA從您的Excel S/S之內完成這項工作。通過傳遞查找替換範圍來調用下面的Sub,例如從Excel的VBA即時窗口(使用訪問ALT + F11的VBA編輯器,然後查看 - >即時):
ReplaceXML Range("A1:B600")
假設A1:B600包含600查找替換字符串。
定義下面的模塊後(插入 - >從VBA編輯器(ALT + F11)內的模塊):
Option Explicit ' Use this !
Public Sub ReplaceXML(rFindReplaceRange as Range) ' Pass in the find-replace range
Dim sBuf As String
Dim sTemp As String
Dim iFileNum As Integer
Dim sFileName As String
Dim i as Long
' Edit as needed
sFileName = "C:\filepath\filename.xml"
iFileNum = FreeFile
Open sFileName For Input As iFileNum
Do Until EOF(iFileNum)
Line Input #iFileNum, sBuf
sTemp = sTemp & sBuf & vbCrLf
Loop
Close iFileNum
' Loop over the replacements
For i = 1 To rFindReplaceRange.Rows.Count
If rFindReplaceRange.Cells(i, 1) <> "" Then
sTemp = Replace(sTemp, rFindReplaceRange.Cells(i, 1), rFindReplaceRange(i, 2))
End If
Next i
' Save file
iFileNum = FreeFile
' Alter sFileName first to save to a different file e.g.
sFileName = "C:\newfilepath\newfilename.xml"
Open sFileName For Output As iFileNum
Print #iFileNum, sTemp
Close iFileNum
End Sub
謝謝您的幫助。我仍然遇到麻煩......因爲我不是專家。我已將代碼複製到VBA中。現在我試圖運行我的範圍ReplaceXML Range(「A1:B600」)上的代碼,但我不確定在哪裏/如何執行此操作。你能解釋一下嗎? – Mark 2013-03-17 03:30:30
從vba窗口中查看 - 立即。然後在那裏輸入ReplaceXML Range(「A1:B600」)並回車。 – gavinj500 2013-03-17 10:38:10
我輸入了你指出的內容,並且出現此錯誤:編譯錯誤:未定義子或函數。有什麼額外的幫助可以提供嗎?非常感謝 – Mark 2013-03-17 13:06:10