Excel vba - сохранить как pdf и загрузить vba ftp - загрузка выглядит забавно

Привет, я действительно не могу понять это. У меня есть код в vba, который сохраняет активный лист в формате pdf. Это работает, PDF выглядит хорошо! Затем код продолжается, и он создает скрипт, а затем загружает PDF-файл на сервер. Загрузка тоже работает, но когда я открываю файл на сервере, 99% текста там нет. Я попытался загрузить файл вручную, он был создан из сценария и работает. Так, что происходит? Как ftp-скрипт может просто удалить 99% текста из PDF-файла при его загрузке? Я также попытался не использовать активный лист, а также установить таймер на случай, если создание файлов не было завершено. но это не проблема. Такое ощущение, что загрузка конвертирует pdf это может быть правдой? Надеюсь, у кого-то есть хороший ответ.

ОБНОВИТЬ ! - код теперь работает

Вот код, который я использую:

 '''create pdf File
ThisWorkbook.Sheets("Course_rates_print1").Select

 ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="E:\Kunder-i-brug\PSC\office-software\rates-now.pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False




Application.Wait (Now + TimeValue("00:00:20"))

 ''''''''write script.dat and upload.dat file
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("E:\Kunder-i-brug\PSC\office-software\script.dat", True)
a.writeline "username" 
a.writeline "password"
a.writeline "Binary"
a.writeline "mput E:\Kunder-i-brug\PSC\office-software\rates-now.pdf" 'file to be uploaded
a.writeline "quit"
a.Close

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("E:\Kunder-i-brug\PSC\office-software\upload.bat", True)
a.writeline "ftp -i -s:E:\Kunder-i-brug\PSC\office-software\script.dat 
ftp.server" 'the ftp site
a.Close


dRetVal = Shell("E:\Kunder-i-brug\PSC\office-software\upload.bat", 0) 
'upload the file
 ''''''''''end upload.bat file

Application.ScreenUpdating = True

person Lasse Anker    schedule 13.04.2018    source источник
comment
Вы выполняете бинарную передачу? nsftools.com/tips/MSFTP.htm#binary   -  person Tim Williams    schedule 14.04.2018
comment
Хороший вопрос! Код, который вы видите, это код, который я использую. Но, похоже, ты направляешь меня в правильном направлении. Я постараюсь выяснить, если это проблема. Я не очень люблю использовать .bat и скрипт или использовать ftp с vba, так что это может быть :)   -  person Lasse Anker    schedule 14.04.2018
comment
Ты звезда. Получил работу :) Добавил строку a.writeline "Binary" после пароля - можете ли вы опубликовать ее как ответ, чтобы я мог закрыть это :) и спасибо за помощь, Тим.   -  person Lasse Anker    schedule 14.04.2018
comment
кстати, если вы используете расширение .ftp в своем скрипте, вы можете просто выполнить script.ftp, и стандартная ассоциация файлов запустит его под ftp.exe script.ftp.   -  person    schedule 14.04.2018