博奧清單V17中,機關平方米和立方米的數字均為上标顯示。為使列印出來後易于分辨,應BOSS要求,在導出Excel後将其修改為“m2”和“m3”。
VBS批量修改代碼:
Option Explicit
If Wscript.Arguments.Count = 0 ThenWScript.EchoChr(10) &_"[正确操作]" & Chr(10) & Chr(10) &_Chr(9) & "拖拽導出的Excel檔案到本程式" & Chr(10) & Chr(10) &_"[錯誤操作]" & Chr(10) & Chr(10) &_Chr(9) & "輕按兩下本程式"WScript.QuitEnd If
DimxlsFilePath
xlsFilePath=WScript.Arguments(0)DimWshellSet Wshell=CreateObject("Wscript.Shell")If LCase(Right(WScript.FullName,11)) = "wscript.exe" ThenWshell.Run"CScript.exe //nologo" &_Chr(32) &_Chr(34) & WScript.ScriptFullName & Chr(34) &_Chr(32) &_Chr(34) & WScript.Arguments(0) & Chr(34)
WScript.QuitEnd IfWScript.Echo"正在運作,請等待......"
DimoExcel,oWorkbook,SheetOn Error Resume Next
Set oExcel = GetObject(,"Excel.Application")If Err ThenWScript.Echo Err.Description
Err.ClearSet oExcel = CreateObject("Excel.Application")
oExcel.Visible= False
End If
Set oWorkbook =oExcel.Workbooks.Open(xlsFilePath)If Err ThenErr.Clear
Wshell.Popup"無法打開指定的檔案,可能的原因有:" & Chr(10) &_"1、本機沒有安裝Microsoft Office 2003、2007、2010或以上版本。" & Chr(10) &_"2、需要處理的檔案已經打開或被其它程式占用,請關閉檔案後重新使用本程式。", 10 , "提示", 16+4096WScript.QuitEnd If
On Error Goto 0oExcel.DisplayAlerts= False
DimCurrentPath
CurrentPath= CreateObject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.PathFor Each Sheet InoWorkbook.Worksheets
Sheet.Activate
Wscript.Echo"Replace:" &Sheet.Name
oExcel.Cells.Replace"㎡", "m2", 2, 1, False, False, FalseoExcel.Cells.Replace"", "m2", 2, 1, False, False, FalseoExcel.Cells.Replace"", "m3", 2, 1, False, False, FalseoExcel.Cells.Replace"延長米", "m", 2, 1, False, False, False
NextoWorkbook.Worksheets(1).Select
oWorkbook.Save
oExcel.DisplayAlerts= TrueoWorkbook.CloseSet oExcel = Nothing
Set oWorkbook = NothingWshell.Popup"經過一段時間的浴血奮戰,終于搞定了所有的機關替換。", 10, "博奧機關替換", 48
VBS批量修改代碼(讀取“替換清單.txt”檔案,循環替換)
Option Explicit
If Wscript.Arguments.Count = 0 ThenWScript.EchoChr(10) &_"[正确操作]" & Chr(10) & Chr(10) &_Chr(9) & "拖拽導出的Excel檔案到本程式" & Chr(10) & Chr(10) &_"[錯誤操作]" & Chr(10) & Chr(10) &_Chr(9) & "輕按兩下本程式"WScript.QuitEnd If
DimxlsFilePath
xlsFilePath=WScript.Arguments(0)DimWshellSet Wshell=CreateObject("Wscript.Shell")If LCase(Right(WScript.FullName,11)) = "wscript.exe" ThenWshell.Run"CScript.exe //nologo" &_Chr(32) &_Chr(34) & WScript.ScriptFullName & Chr(34) &_Chr(32) &_Chr(34) & WScript.Arguments(0) & Chr(34)
WScript.QuitEnd IfWScript.Echo"正在運作,請等待......"
DimoExcel,oWorkbook,SheetOn Error Resume Next
Set oExcel = GetObject(,"Excel.Application")If Err ThenWScript.Echo Err.Description
Err.ClearSet oExcel = CreateObject("Excel.Application")
oExcel.Visible= False
End If
Set oWorkbook =oExcel.Workbooks.Open(xlsFilePath)If Err ThenErr.Clear
Wshell.Popup"無法打開指定的檔案,可能的原因有:" & Chr(10) &_"1、本機沒有安裝Microsoft Office 2003、2007、2010或以上版本。" & Chr(10) &_"2、需要處理的檔案已經打開或被其它程式占用,請關閉檔案後重新使用本程式。", 10 , "提示", 16+4096WScript.QuitEnd If
On Error Goto 0
Dimfso,oFileSet fso = CreateObject("Scripting.FileSystemObject")DimstrLineDimstrArrDimCurrentPath
CurrentPath= CreateObject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
oExcel.DisplayAlerts= False
For Each Sheet InoWorkbook.Worksheets
Sheet.Select
Sheet.Activate
WScript.Echo Sheet.NameSet oFile = fso.OpenTextFile(CurrentPath & "\替換清單.txt", 1)Do While oFile.AtEndOfStream <> TruestrLine=oFile.ReadLine
strArr= Split(strLine,"→")
oExcel.Cells.Replace strArr(0), strArr(1), 2, 1, False, False, False
LoopoFile.CloseNextoWorkbook.Worksheets(1).Select
oWorkbook.Save
oExcel.DisplayAlerts= TrueoWorkbook.CloseSet oFile = Nothing
Set oExcel = Nothing
Set oWorkbook = NothingWshell.Popup"經過一段時間的浴血奮戰,終于搞定了所有的機關替換。", 10, "博奧機關替換", 48
“替換清單.txt”樣例:
古民居04号→04号古民居(羅滿才)修繕工程
古民居05号→05号古民居(鄧耀柱)修繕工程
古民居06号→06号古民居修繕工程
古民居09号→09号古民居修繕工程
古民居11号→11号古民居(鄧耀梓)修繕工程
古民居12号→12号古民居(鄧秋陽)修繕工程
古民居13号→13号古民居(鄧亞貴)修繕工程
古民居15号→15号古民居修繕工程
古民居18号→18号古民居修繕工程
古民居19号→19号古民居(鄧國天)修繕工程
古民居27号→27号古民居(鄧耀梓祖屋)修繕工程
古民居28号→28号古民居修繕工程
古民居29号→29号古民居修繕工程
古民居31号→31号古民居(鄧耀梓)修繕工程
古民居32号→32号古民居修繕工程
古民居33号→33号古民居(廖家祖屋)修繕工程
古民居34号→34号古民居(羅家祖屋)修繕工程
古民居35号→35号古民居(羅家祖屋)修繕工程
古民居36号→36号古民居(羅家祖屋)修繕工程
古民居37号→37号古民居(羅家祖屋)修繕工程
古民居38号→38号古民居(楊家祖屋)修繕工程
閘門01→閘門一修繕工程
閘門02→閘門二修繕工程
閘門03→閘門三修繕工程
閘門04→閘門四修繕工程
閘門05→閘門五修繕工程
閘門06→閘門六(廖家閘門)修繕工程
閘門07→閘門七(羅家閘門)修繕工程
閘門08→閘門八(二閘)修繕工程
閘門09→閘門九(大閘)修繕工程
閘門10→閘門十修繕工程
閘門11→閘門十一修繕工程
閘門12→閘門十二修繕工程
閘門13→閘門十三修繕工程
金石廟→金石廟修繕工程
木村坡圍牆→圍牆修繕工程
木村坡鋪張→木村坡鋪裝
木村坡寨牆→寨牆
木村坡牌樓→入口牌坊
木村坡排水→雨水
木村坡污水→污水
木村坡照明→強電
木村坡雨水→雨水
㎡→m2
→m2
→m3