我需要查找并替换 CSV文件 &#34 ;;使用vbscript在" P" 列中添加34; 字符。
旧字符串:
不合规的隔离T键;孤立的罗盘与绝缘破碎
CSV替换后的新字符串:
不合规的隔离T-key |||孤立的指南针与破碎 绝缘
我试过这段代码却没有成功。
如何解决这个问题?
我的代码如下。
On Error Resume Next
Const xlCSV = 6
Start_Time = Timer
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("RAS.csv")
objExcel.DisplayAlerts = FALSE
objExcel.Visible = TRUE
Set objWorksheet = objWorkbook.Worksheets("RAS")
objWorkbook.Worksheets("RAS").Range("P:P").Replace "; ", "||| "
objExcel.Quit
End_Time = Timer
Total_Time = FormatNumber(End_Time - Start_Time, 2)
if Err.Number <> 0 then
MsgBox("REPLACE : " & Date() & vbcrlf & Err.Number & vbcrlf & Err.Description)
else
MsgBox("REPLACE : OK! " & vbcrlf & Date() & vbcrlf & "Total Time : " & Total_Time )
end if
答案 0 :(得分:1)
您没有收到任何错误,因为在代码开头,您已指示系统通过放置On Error Resume Next
语句来忽略错误。我评论说,并开始按顺序获得以下错误:
RAS.csv
,为避免这种情况,我输入了完全限定的文件路径,而不仅仅是文件的名称P1
中的内容替换为列P
中的最后一行另外,正如评论中提到的那样,您在退出excel之前没有保存工作簿。
<强>代码:强>
'On Error Resume Next
Const xlCSV = 6
Start_Time = Timer
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("E:\Work\Codes\SO\RAS.csv") 'Entered full path here
objExcel.DisplayAlerts = FALSE
objExcel.Visible = TRUE
Set objWorksheet = objWorkbook.Worksheets("RAS")
lastRow = objWorksheet.Range("P"&objWorksheet.Rows.Count).End(-4162).row
objWorksheet.Range("P1:P"&lastRow).Replace "; ", "||| "
End_Time = Timer
Total_Time = FormatNumber(End_Time - Start_Time, 2)
if Err.Number <> 0 then
MsgBox("REPLACE : " & Date() & vbcrlf & Err.Number & vbcrlf & Err.Description)
else
MsgBox("REPLACE : OK! " & vbcrlf & Date() & vbcrlf & "Total Time : " & Total_Time )
end if
objWorkbook.save 'save before quitting excel
objExcel.quit
最终结果: