Выполнение файла VBS с аргументами, созданными Python

Я хотел бы конвертировать десятки листов Excel в CSV-файлы одновременно. У меня есть рабочий файл .vbs, который выполняет преобразование, и я хотел бы выполнить этот файл .vbs на разных листах с помощью кода Python. У меня есть следующие 2 версии кода Python:

Версия 1:

import os
import sys
import subprocess

FolderName=sys.argv[1]
FileList=os.listdir(FolderName)
NewList=[]

for i in FileList:
   NewItem=i.split('.xls')
   NewXls=FolderName+"\\"+NewItem[0]+".xlsx "
   NewCsv=FolderName+"\\"+NewItem[0]+".csv"
   NewCommand="C:\\Users\\user\\XlsToCsv.vbs "+sys.argv[2]+" "+NewXls+NewCsv
   subprocess.call(NewCommand)

Версия 2:

import os
import sys
import subprocess

def main(directory,extension,sheet):
 for filename in os.listdir(directory):
    if filename.endswith(extension):
        path = os.path.join(directory, filename)
        base = os.path.join(directory, filename[:len(filename)-len(extension)])
        print base
        new_xls = base + extension
        new_csv = base + '.csv'
        subprocess.call(['C:\\Users\\user\\XlsToCsv.vbs', sheet, new_xls, new_csv])

main(sys.argv[1],sys.argv[2],sys.argv[3])

Неважно, что я пытаюсь, я получаю то же сообщение об ошибке:

 Traceback (most recent call last):
   File "C:/Users/user/Desktop/Work/XlsDir.py", line 16, in 
     subprocess.call(NewCommand)
   File "C:\Python27\lib\subprocess.py", line 524, in call
     return Popen(*popenargs, **kwargs).wait()
   File "C:\Python27\lib\subprocess.py", line 711, in __init__
     errread, errwrite)
   File "C:\Python27\lib\subprocess.py", line 948, in _execute_child
     startupinfo)
   WindowsError: [Error 193] %1 er ikke et gyldigt Win32-program

Последняя строка сообщения об ошибке приблизительно означает, что она не является действительной Win32-программой.

Что я уже пробовал:

Если я запускаю файл .vbs из командной строки с правильными аргументами (лист, имя файла .xls и имя файла .csv), то он работает нормально.Если я печатаю команды, которые генерирует python, и копирую их в командную строку, они работают нормально.Я пробовал все комбинации "\" а также '\' на разных путях, и ничто не стало лучше.Я попытался выполнить программы, заменив аргументы sys.argv [i] конкретными аргументами, а затем запустил файл .py из командной строки. Я получаю то же сообщение об ошибке.

Я надеюсь, что некоторые из вас могут помочь мне. Большое спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос