xlsx、xls、csv 间格式转换的.vbs代码

```

'
'将本代码保存为 .vbs。如 Excel2csv.vbs, 将 .xlsx,.xls等Excel文件拖放到本脚本(如 Excel2csv.vbs), 即可实现相应的功能。
' *============================================================================*
' * 批量 xlsx/xls/csv 间格式转换工具, By HongQingFa,                2023-09-10 *


’ **根据脚本的名称进行对应转换, 如可将脚本命名为:Excel2Xlsx.vbs, Excel2Xls.vbs, Excel2csv.vbs, 如为其它脚本名称,则转换为 .csv**

‘*============================================================================*

' FileFormat:=xlOpenXMLWorkbook
' xlOpenXMLWorkbook = 51 '打开 XML 工作簿。
' XlFileFormat 枚举,指定保存工作表时的文件格式。
xlOpenXMLWorkbook = 51
xlExcel8 = 56
xlCSV = 6
xlCSVWindows = 23
xlCSVMSDOS = 24
xlAddIn = 18
xlTextMSDOS =21
xlTextWindows =20
xlWorkbookDefault =51

Set objArgs = WScript.Arguments
If objArgs.Count=0 Then
    MsgBox "本脚本支持 xlsx/xls/csv 间的转换," &vbCrLf& "请将您要转换的文件拖到这个文件上!" &vbCrLf& "" &vbCrLf& "拖拽批量xls格式转换工具 By: HongQingFa"
    MsgBox "根据脚本的名称进行对应转换," &vbCrLf& "如可将脚本命名为:" &vbCrLf& "Excel2Xlsx.vbs"  &vbCrLf&  "Excel2Xls.vbs"  &vbCrLf& "Excel2csv.vbs" &vbCrLf& "-------" &vbCrLf& "-其它脚本名称-,则转换为 .csv" 
End If
'
' 根据本脚本的名称进行对应转换,其它命名格式则转换为 .csv
scp_fn=UCase(wscript.scriptname)
For I = 0 To objArgs.Count - 1
    FileUrl = objArgs(I)

'    根据脚本的名称进行对应转换,其它命名格式则转换为 .csv
'    Call Word2Txt(FileUrl)
    if scp_fn = UCase("Excel2Xlsx.vbs") Then
        Call Excel2Xlsx(FileUrl)
'    End If

'    Call Word2Txt(FileUrl)
    elseif scp_fn = UCase("Excel2Xls.vbs") Then
        Call Excel2Xls(FileUrl)
'    End If

'    Call Word2Txt(FileUrl)
    else
'    if scp_fn = UCase("Excel2csv.vbs") Then
        Call Excel2csv(FileUrl)
    End If
Next

Function Excel2Xls(FileUrl)
   FilePath = GetFileBaseName(FileUrl) & ".xls"
   Set objExcel = CreateObject("Excel.Application")
   Set wb = objExcel.Workbooks.Open(FileUrl, False)
   wb.SaveAs FilePath, xlExcel8
   wb.Close True
End Function


Function Excel2Xlsx(FileUrl)
   FilePath = GetFileBaseName(FileUrl) & ".xlsx"
   Set objExcel = CreateObject("Excel.Application")

   Set wb = objExcel.Workbooks.Open(FileUrl, False)
   wb.SaveAs FilePath, xlOpenXMLWorkbook
   wb.Close True
End Function

Function Excel2csv(FileUrl)
   FilePath = GetFileBaseName(FileUrl)
   Set objExcel = CreateObject("Excel.Application")
   Set wb = objExcel.Workbooks.Open(FileUrl, False)
      for each s In wb.Sheets
        s.Activate
        s.SaveAs FilePath & "_" & s.name & ".csv" , xlCSV
   Next
   wb.Close True
End Function

' 取得文件基本名.
Function GetFileBaseName(ByVal sfilename)
  n = InStrRev(sfilename, ".")
  If n>1 Then
    GetFileBaseName = Left(sfilename, n-1)
  Else
    GetFileBaseName = sfilename
  End If
End Function
```

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值