天天看點

博奧導出工程項目電子表格_博奧清單導出Excel後機關批量替換

博奧清單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