VBS는 Excel 테이블을 txt 텍스트로 저장합니다.

2628 단어
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

좋은 웹페이지 즐겨찾기