2016-11-02 2 views
0

У меня есть сценарий VBA, как показано ниже, который выполняет скрипт python, который записывает значения в книги Excel.Сценарий оболочки Excel VBA, который выполняет скрипт python, не работает

Dim args 
Dim Ret_Val 
args = ActiveWorkbook.Path & "\helloWorld.py" 
Ret_Val = Shell("C:\Python27\python.exe " & args, vbNormalFocus) 

The helloworld.py приводится ниже:

import xlrd 
from xlutils.copy import copy 
rb = xlrd.open_workbook("https://stackoverflow.com/a/b/StubProto.xlsm") 
wb = copy(rb) 
ws1 = wb.get_sheet(0) 
ws1.write(1, 11, "Hello World") 
wb.save("StubProto.xlsm") 

Приведенный выше код работает нормально на своих собственных в среде Windows, но не работает на среде VBA. Кажется, он ничего не возвращает в среде VBA.

Есть ли что-то, что я делаю неправильно?

ответ

0

У меня есть сценарий VBA, который делает то же самое, это то, как он выглядит:

args = """" & Application.ActiveWorkbook.Path & "\helloWorld.py"" P" 
output = ShellRun("""C:\Python27\python.exe"" " & args) 
0

Проблема была с каталогом в пути арг, который имел место между ними. Исправлена ​​ошибка с удалением пробела на пути скрипта python.

Смежные вопросы