Ожидаемая ошибка оператора при использовании нескольких параметров в VBS - PullRequest
0 голосов
/ 12 июня 2018

Я работаю над созданием простого VBS, который будет открывать и закрывать файл Excel и сохранять по мере его закрытия.Это делается для того, чтобы обновить значения в файле Excel после того, как они были изменены отдельным скриптом Python, и мне нужно сделать это таким образом по многим глупым причинам вне моего контроля.

У меня не так многоопыт работы с VBS, но то, что я исследовал по этому поводу, я не вижу ошибки в моем коде.Тем не менее, я получаю ошибку всякий раз, когда я пытаюсь запустить код ниже.Там ошибка:

 Line: 7
 Char: 39
 Error: Expected statement
 Code: 800A0400
 Source: Microsoft VBScript compilation error

Любая помощь будет оценена, спасибо!

dim fso
set fso = CreateObject("Scripting.FileSystemObject")

if(fso.FileExists("C:\Users\Public\Documents\Templates\testfile.xlsx")) then
    set xlapp = createobject("Excel.Application")
    xlapp.Workbooks.Open "C:\Users\Public\Documents\Templates\testfile.xlsx"
    xlapp.ActiveWorkbook.SaveAs Filename:="C:\Users\Public\Documents\Templates\testfile_test.xlsx", FileFormat:=51, ConflictResolution:=2
    xlapp.ActiveWorkbook.Close SaveChanges:=True
end if

1 Ответ

0 голосов
/ 12 июня 2018

Если вы используете автономный VBS, следующие строки не будут работать, потому что VBS не VBA.VBA поддерживает синтаксис именованных аргументов в вызовах функций, тогда как VBS

xlapp.ActiveWorkbook.SaveAs Filename:="C:\Users\Public\Documents\Templates\testfile_test.xlsx", FileFormat:=51, ConflictResolution:=2
xlapp.ActiveWorkbook.Close SaveChanges:=True

не поддерживается. Вы должны предоставить аргументы функции.Так Function ArgName:=ArgValue становится Function ArgValue

xlapp.ActiveWorkbook.SaveAs "C:\Users\Public\Documents\Templates\testfile_test.xlsx",51,,,,,,2
xlapp.ActiveWorkbook.Close True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...