拖放转换 批量转换 xls 2 txt

来源:互联网 发布:计算机技术与软件 证书 编辑:程序博客网 时间:2024/05/07 20:56

'----------------------------------------------------------
'拖放转换:
'支持拖放到VBS上将xls转换成txt
'批量转换:
'将指定目录下的xls批量转换为txt。(支持遍历子目录)
'----------------------------------------------------------
'2015-09-27 by Jerry
'当表格数量不只一个时,显示进度条'
'策划表和程序表不在同一个SVN上,所以分别打开两个提交窗口。
'2015-09-17 by Jerry
'大家好,我是笨笨,笨笨的笨,笨笨的笨。
'代码是网上找来拼有,有点乱。将就用先,有空有心再整理
'+++++++++++++++++++++++++
'2015-09-18
'将原本读数据再写入txt的方法改为直接接使用 saveas
'显示log改为询问是否提交SVN
'----------------------------------------------------------

代码片段:https://code.csdn.net/snippets/1101190


XLS转TXT的版本,因表格多时显示excel窗口不美观,不显示又好像假死状态。于是加个进度。有机会再优化下性能,现在将就用了。

进度条版:https://code.csdn.net/snippets/1141775


一些备注:

脚本中用到的拖放功能是从这里来的

'======================================================================='VBScript Source File -- 获取文件完整路径并存储(拖放操作)'NAME:获取文件完整路径并存储(拖放操作)'AUTHOR:Null'DATE:2008-08-09'COMMENT:获取文件完整路径并存储(拖放操作)'=======================================================================function getfolder()getfolder=left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\")-1) end functionpath=left(wscript.scriptfullname,len(wscript.scriptfullname)-len(Wscript.ScriptName)) ptxt=path&"\Path.txt"Set fso = wscript.CreateObject("Scripting.FileSystemObject") set f=fso.opentextfile(ptxt,8,true) path=Left(Wscript.ScriptFullName,len(Wscript.ScriptFullName))if wscript.arguments.count=0 thenmsgbox "请将需要操作文件拖放到本脚本上即可!",48,"提示"wscript.quitend iffor each fname in wscript.argumentsf.writeline(fname)nextf.close


还有一个方法:生成一个结构相同的新路径(不过我没有用到,存在这里)

'* 生成一个结构相同的新路径'**********************************'Function GenerateNewPath(dpnx, dp1, dp2)'    Dim absDP1, absDP2, starPos, pNames, dpnx2, i,tempName,finalName'    absDP1 = fso.GetFolder(dp1).Path'    absDP2 = fso.GetFolder(dp2).Path'    pNames = Split(dpnx, "\")'    starPos = UBound(Split(absDP1, "\")) + 1'    For i = starPos To UBound(pNames) - 1'        absDP2 = fso.BuildPath(absDP2, pNames(i))'        If Not fso.FolderExists(absDP2) Then fso.CreateFolder absDP2'    Next        '文件格式:C常量表-Const.xls  去掉 - 号前的 中文部分'    tempName = Split(pNames(UBound(pNames)),"-")    'finalName = Split(tempName(UBound(tempName)),".") '    dpnx2 = fso.BuildPath(absDP2, finalName(0))    '    GenerateNewPath = dpnx2'End Function


0 0
原创粉丝点击