Я новичок в скрипте VB, я скомпилировал код, который конвертировал бы excel в csv, даже если в нем было несколько листов. Но проблема здесь в том, что я просто хочу передать путь к папке, и код должен выбрать файл Excel в этой папке, а я не предоставил название этой таблицы Excel.
Dim strExcelFileName
Dim strCSVFileName
Dim dt
dt=now
strExcelFileName = DIR("WScript.Arguments.Item(0)") 'file name to parses
rem get path where script is running
Set fso = CreateObject ("Scripting.FileSystemObject")
strScript = Wscript.ScriptFullName
strScriptPath = fso.GetAbsolutePathName(strScript & "\..")
rem If the Input file is NOT qualified with a path, default the current path
LPosition = InStrRev(strExcelFileName, "\")
if LPosition = 0 Then 'no folder path
strExcelFileName = strScriptPath & "\" & strExcelFileName
strScriptPath = strScriptPath & "\"
else 'there is a folder path, use it for the output folder path also
strScriptPath = Mid(strExcelFileName, 1, LPosition)
End If
rem msgbox LPosition & " - " & strExcelFileName & " - " & strScriptPath ' use this for debugging
Set objXL = CreateObject("Excel.Application")
Set objWorkBook = objXL.Workbooks.Open(strExcelFileName)
objXL.DisplayAlerts = False
rem loop over worksheets
For Each sheet In objWorkBook.Sheets
'only saveAS sheets that are NOT empty
if objXL.Application.WorksheetFunction.CountA(sheet.Cells) <> 0 Then
sheet.SaveAs WScript.Arguments.Item(1) & sheet.Name & "_" & ((year(dt)*100 + month(dt))*100 + day(dt))*10000 + hour(dt)*100 + minute(dt) & second(dt) & ".csv", 3 'CSV
End If
Next
objWorkBook.Close
objXL.quit
Set objXL = Nothing
Set objWorkBook = Nothing
Set fso = Nothing