VBScript: Workbooks.Open - без открытия таблицы - PullRequest
0 голосов
/ 29 января 2020

Этот код сохраняет файл xlsx из одной папки в другую папку с паролем, а затем удаляет оригинал.

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set objExcel = CreateObject("Excel.Application")

strTodays_Date = Year(Date) & Right("0" & Month(Date),2) & Right("0" & Day(Date),2)

If fso.FileExists("\\ServerPath\Test\Test_Input\Test1.xlsx") Then
   Set obj1 = objExcel.Workbooks.Open("\\ServerPath\Test\Test_Input\Test1.xlsx")
   objExcel.DisplayAlerts = False
   obj1.SaveAs "\\ServerPath\Test\Test_Output\Test1" & "_" & strTodays_Date & ".xlsx",,"123098"
   obj1.Close False
   fso.DeleteFile("\\ServerPath\Test\Test_Input\Test1.xlsx")
End If

Set obj1    = Nothing 
Set objExcel    = Nothing
Set fso     = Nothing

Когда я запускаю этот vbscript на моем локальном компьютере, он работает так, как я ожидаю - без защищенной паролем электронной таблицы, фактически открывающейся во время процесса.

Когда я запускаю это на другом сервере [где завершенный код в конечном счете должен будет работать], он открывает вновь созданную электронную таблицу, защищенную паролем, и ждет меня введите пароль перед завершением процесса сохранения как и удаления оригинала.

Как я могу предотвратить открытие электронной таблицы, требуя пароль и прерывая процесс?

Спасибо!

1 Ответ

0 голосов
/ 30 января 2020

Извините за это, но только когда я начал копать глубже, я понял, в чем проблема. Во время тестирования я случайно скопировал защищенный паролем файл в папку «Test_Input». В результате эта строка кода:

Set obj1 = objExcel.Workbooks.Open ("\ ServerPath \ Test \ Test_Input \ Test1.xlsx")

фактически пыталась открыть ранее защищенный паролем файл. Как только я понял это и исправил, код работал нормально.

Опять прошу принять мои извинения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...