博奥导出工程项目电子表格_博奥清单导出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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值