VBS實(shí)現(xiàn)將Excel表格保存為txt文本
更新時(shí)間:2012年12月10日 16:42:17 作者:
希望能夠找到個(gè)能給excel表另存為TXT的VBS代碼,雖然另存為可以選擇,但還是需要直接VBS執(zhí)行這一步另存為TXT格式的,應(yīng)該如何寫代碼呢
希望能夠找到個(gè)能給excel表另存為TXT的VBS代碼,雖然另存為可以選擇,但還是需要直接VBS執(zhí)行這一步另存為TXT格式的,應(yīng)該如何寫代碼呢?
有裝Excel的話,就會(huì)比較簡(jiǎn)單,下面的是通用的不裝Office也可以運(yùn)行的,如下:
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
'****************************************************************************************
'開始轉(zhuǎn)換
'****************************************************************************************
Sub XLS2TXT(strFileName)
'若有裝Excel只需
'oExcel.ActiveWorkbook.SaveAs strFileName & ".txt", -4158
'下面的方法適合沒有裝Office的系統(tǒng)
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 "錯(cuò)誤代碼:" & Err.Number & VbCrLf & Err.Description
Err.Clear
else
oAdox.ActiveConnection = oConn
sSQL = sSQL & "[" & oAdox.Tables(0).Name & "]" '為了簡(jiǎn)便,只處理第一個(gè)工作表
Set oRecordSet = oConn.Execute(sSQL)
if Err Then
Msgbox "錯(cuò)誤代碼:" & 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
'****************************************************************************************
'寫入文件,同名覆蓋,無則創(chuàng)建
'****************************************************************************************
Sub Write(strName,str)
Dim oFSO,oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile(strName,2,True) '不存在則創(chuàng)建,強(qiáng)制覆蓋
oFile.Write str
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing
End Sub
有裝Excel的話,就會(huì)比較簡(jiǎn)單,下面的是通用的不裝Office也可以運(yùn)行的,如下:
VBScript code:
復(fù)制代碼 代碼如下:
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
'****************************************************************************************
'開始轉(zhuǎn)換
'****************************************************************************************
Sub XLS2TXT(strFileName)
'若有裝Excel只需
'oExcel.ActiveWorkbook.SaveAs strFileName & ".txt", -4158
'下面的方法適合沒有裝Office的系統(tǒng)
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 "錯(cuò)誤代碼:" & Err.Number & VbCrLf & Err.Description
Err.Clear
else
oAdox.ActiveConnection = oConn
sSQL = sSQL & "[" & oAdox.Tables(0).Name & "]" '為了簡(jiǎn)便,只處理第一個(gè)工作表
Set oRecordSet = oConn.Execute(sSQL)
if Err Then
Msgbox "錯(cuò)誤代碼:" & 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
'****************************************************************************************
'寫入文件,同名覆蓋,無則創(chuàng)建
'****************************************************************************************
Sub Write(strName,str)
Dim oFSO,oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile(strName,2,True) '不存在則創(chuàng)建,強(qiáng)制覆蓋
oFile.Write str
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing
End Sub
您可能感興趣的文章:
- VBS合并一個(gè)文件夾里的TXT的實(shí)現(xiàn)代碼
- vbs解決處理TXT文本數(shù)據(jù)相關(guān)問題實(shí)現(xiàn)代碼
- TXT轉(zhuǎn)HTM、HTML「TXT轉(zhuǎn)網(wǎng)頁」的vbs實(shí)現(xiàn)代碼
- 用vbs產(chǎn)生的若干個(gè)隨機(jī)數(shù)并寫入到一個(gè).txt中的代碼
- 將HTML或txt文件轉(zhuǎn)換為ASP輸出的vbs代碼
- 用VBS將一篇txt后綴的內(nèi)容保存為html格式
- vbs實(shí)現(xiàn)的支持拖動(dòng)的txt文本切割器
- vbs操作txt文本文件常用方法與函數(shù)代碼
相關(guān)文章
用vbs實(shí)現(xiàn)將剪切板的unix格式的內(nèi)容處理成pc格式的代碼
用vbs實(shí)現(xiàn)將剪切板的unix格式的內(nèi)容處理成pc格式的代碼...2007-10-10
用VBS寫的VBSCRIPT代碼格式化工具VbsBeautifier
這篇文章主要介紹了用VBS寫的VBSCRIPT代碼格式化工具VbsBeautifier,需要的朋友可以參考下2014-09-09
用vbs實(shí)現(xiàn)定時(shí)運(yùn)行web文件的方法
用vbs實(shí)現(xiàn)定時(shí)運(yùn)行web文件的方法...2007-03-03
遠(yuǎn)程開啟/關(guān)閉目標(biāo)telnet服務(wù)的windows腳本RTCS.vbs
遠(yuǎn)程開啟/關(guān)閉目標(biāo)telnet服務(wù)的windows腳本RTCS.vbs...2007-02-02
用vbs將輸出內(nèi)容寫到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法
用vbs將輸出內(nèi)容寫到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法...2007-03-03

