快速业务通道

VBS实现将Excel表格保存为txt文本

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
希望能够找到个能给excel表另存为TXT的VBS代码,虽然另存为可以选择,但还是需要直接VBS执行这一步另存为TXT格式的,应该如何写代码呢?

有装Excel的话,就会比较简单,下面的是通用的不装Office也可以运行的,如下:
VBScript code:
复制代码 代码如下:

Set oShell = CreateObject("Shell.Application")
Set oDir = oShell.BrowseForFolder(0,"选择目录",0)
For Each x In oDir.Items
If LCase(Right(x.Path,4)) = ".xls" Then
XLS2TXT x.Path
End If
Next
''****************************************************************************************
''开始转换
''****************************************************************************************
Sub XLS2TXT(strFileName)
''若有装Excel只需
''oExcel.ActiveWorkbook.SaveAs strFileName & ".txt", -4158
''下面的方法适合没有装Office的系统
On Error Resume Next
Dim oConn,oAdox,oRecordSet
Set oConn = CreateObject("Adodb.Connection")
Set oAdox = CreateObject("Adox.Catalog")
sConn = "Provider = Microsoft.Jet.Oledb.4.0;" & _
"Data Source = " & strFileName & ";" & _
"Extended Properties = ""Excel 8.0; HDR=No"";"
sSQL = "Select * From "
oConn.Open sConn
if Err Then
Msgbox "错误代码:" & Err.Number & VbCrLf & Err.Description
Err.Clear
else
oAdox.ActiveConnection = oConn
sSQL = sSQL & "[" & oAdox.Tables(0).Name & "]" ''为了简便,只处理第一个工作表
Set oRecordSet = oConn.Execute(sSQL)
if Err Then
Msgbox "错误代码:" & Err.Number & VbCrLf & Err.Description
Err.Clear
else
Write strFileName & ".txt",oRecordSet.GetString
end if
end If
oRecordSet.Close
oConn.Close
Set oRecordSet = Nothing
Set oAdox = Nothing
Set oConn = Nothing
End Sub
''****************************************************************************************
''写入文件,同名覆盖,无则创建
''****************************************************************************************
Sub Write(strName,str)
Dim oFSO,oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile(strName,2,True) ''不存在则创建,强制覆盖
oFile.Write str
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing
End Sub

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号