Страница 1 из 1
VB скрипт не отрабатывает из-под Pli
Добавлено: 11 сен 2014 10:19
SensoR
Здравствуйте!
Есть VB скрипт, который удаляет колонку в прайс-листе и запускает .bat файлик, который отправляет прайс по ФТП.
Скрипт хорошо работает если лежит с .bat файликом в одной папке и его запустить вручную.
А вот если его запустить из-под Pli, т.е. прописать вот здесь:

, то колонку он в файлике удаляет, а вот файлик не отправляет на сервер почему-то. Подскажите, как это может быть связано с тем, что VB-скрипт запускает Pli, а не вручную? Вот здесь скрипт и батник:
https://www.dropbox.com/sh/gmfgk04ns7qy ... K_swa?dl=0
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 11 сен 2014 15:17
support
Что мешает настроить выгрузку по ftp через интерфейс программы?
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 11 сен 2014 17:39
SensoR
То, что вначале прайс должен обработать vb-скрипт. Он удаляет там не нужный столбик. Если настроить выгрузку из Pli, на сервер будет уходить необработанный скриптом прайс.
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 15 сен 2014 09:58
TechAdmin
Попробуйте прописать пути с кавычками, например в файле temp.txt вместо
Код: Выделить всё
put C:\Dropbox\0 SensoR\0 Работа\Автокеда\tyres_autokeda_ru.xls
так
Код: Выделить всё
put "C:\Dropbox\0 SensoR\0 Работа\Автокеда\tyres_autokeda_ru.xls"
В файле ftpputfile.bat
вместо
полный путь к файлу temp.txt
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 18 сен 2014 09:25
SensoR
Стало лучше, по крайней мере создает файл на сервере. Правда он размером 0 байт и там естественно ничего нет.
В конце выдает ошибку 425.
При запуске скрипта вручную по-прежнему все работает:

Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 22 сен 2014 19:19
SensoR
Может быть есть еще идеи, почему батник может не отрабатывать при запуске из-под Pli ?
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 23 сен 2014 08:43
TechAdmin
Батник изначально не работал из-за отсутствия полных путей, потому как данные находятся на разных дисках и папках.
С работой ПЛИ это не связано. Почему есть ошибка 425 или создаётся файл 0 байт вам нужно разобраться самостоятельно, потому как это относится к работе сервера FTP.
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 25 сен 2014 19:46
SensoR
Дак дело в том, что все хорошо работает, когда запускаешь скрипт вручную. При запуске вручную, он даже с путями без кавычек работал. Вряд ли это связано с работой сервера, так бы и вручную не работало, разве нет? Мне кажется, есть какая-то заковырка, связанная с тем, что запуск идет из-под Pli (либо какие-то возможности офисного движка этой программы, если я правильно выражаюсь, или самой Windows). Может быть подскажете строчку для VB-скрипта, которая бы отправляла сразу по ФТП без батника?
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 26 сен 2014 09:37
TechAdmin
У нас ваш скрипт не работал без модификации путей. С учётом что программа находится в одной папке, а скрипт и доп. файлы скрипта в другой, то требуется указания точных путей.
Пример VB-скрипта:
Код: Выделить всё
On Error Resume Next
'Создаем файл сценария для FTP.EXE
set FSO = CreateObject("Scripting.FileSystemObject")
Set WSHshell = WScript.CreateObject("WScript.Shell")
Set sDir = WSHshell.Environment("Process") ' - находим путь к папке Windows
Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr") '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз)
cScript.WriteLine "Open ftp.narod.ru" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту
cScript.WriteLine "Тут ваш логин" '- Имя пользователя
cScript.WriteLine "Тут ваш пароль" '- Пароль
cScript.WriteLine "PUT файл.txt" '- А это файл который мы закачиваем (если скачиваем, тогда GET)
cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru
cScript.Close '- Конец записи в файл сценария
' Запускаем FTP-сценарий
WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0
Set fso = Nothing
Set WSHshell = Nothing
WScript.Echo "Done!" '-можете удалить эту строчку, она просто сигнализирует о том, что всё кульно
wscript.quit(0) ' -выход
Re: VB скрипт не отрабатывает из-под Pli
Добавлено: 30 сен 2014 10:20
SensoR
Спасибо, сейчас получилось заставить работать и батник и запускать FTP из VB-скрипта. Похоже проблема была в том, что брандмауэр Виндоус блокировал ftp.exe, когда он запускался скриптами, запущенными из-под Pli, не блокируя почему-то при запуске вручную.