Как автоматически сохранять сжатые почтовые вложения, распаковывать в csv и конвертировать в графики?

500
Ted Hoffer

Я работаю в Van 't Hek, голландской компании, которая специализируется на всевозможных фундаментных работах (буровые / сборные сваи, шпунтовые сваи и т. Д.). Я на самом деле инженер AutoCAD, но у меня есть опыт написания сценариев на нескольких языках (html, java & lua).

Эта проблема:

  • У наших кранов auguring есть IPC с gprs-модулем для отправки данных о производстве свай в формате zip на указанный вами адрес электронной почты. Оператор крана должен ввести номер проекта и кучу, IPC добавляет за номером проекта порядковый номер, чтобы увидеть порядок производства. Итак, zip-файл выглядит так:

16000_1_1.zip (проект # _incrementing # _pile #)

  • Раньше мне и моим коллегам приходилось вручную сохранять вложения в нужную папку. Почтовый отправитель - это идентификатор крана, а тема выглядит так: «Вложения электронной почты: 16000_1_1.zip»

    В настоящее время мы используем небольшую программу Outlook SaveAttachment, чтобы упростить поиск (отправить из / date / project #) и сохранить файлы в правильном месте. Ниже приведен пример, где их сохранить:

K: \ 3 Projects \ 16000-16050 \ 16000 Projectlocation - Название проекта, Строительная компания \ 06 Productiondata

Обратите внимание, что иногда необходимо создать папку 06 Productiondata, если в нее ничего не было сохранено ранее. Все остальные части пути являются переменными, и единственной ссылкой является номер проекта (т. Е. 16000).

  • Затем мы распаковываем zip-файл в csv с помощью 7zip.
  • У нас есть Excel-лист от производителя кранов, чтобы импортировать подборку файлов и распечатать их на стандартном принтере (pdf24) в этом случае. Это выводит все файлы в определенную папку на K: мы вручную перемещаем файлы в нужную папку.

Вы все можете себе представить, что этот процесс становится болезненным, особенно если учесть, что у нас +10 подъемных кранов, которые каждый рабочий день дают дюжину свай.

Я смог получить файлы в папку K: диск с правилом и сценарием, но не сделать какой-либо сценарий поиска / сравнения, чтобы поместить его в нужную папку или автоматизировать, чтобы открыть Excelsheet и обработать файл ( с). Я возился с программой DirListing для сканирования структуры папок и вывода ее в файл (txt / csv).

Мне бы очень помогло автоматическое сохранение файлов в нужную папку проекта и в конечном итоге автоматизировать импорт в Excel и вывод pdf-файлов в ту же папку, что и csv-файлы.

У кого-нибудь есть идеи, как этого добиться? Может быть, какой-то пакетный файл или решение PowerShell (я еще не знаком с)?

Мой код:

Public Sub SaveToDisk(itm As Outlook.MailItem)  Dim objAtt As Outlook.Attachment  Dim saveFolder As String  Dim dateFormat dateFormat = Format(Now, "yyyy-mm-dd")  'Change this path to the your folder location  saveFolder = "c:\temp\"  objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls"  Set objAtt = Nothing  End Sub 
0
Добро пожаловать в Супер пользователя! Обратите внимание, что [SU] не является бесплатным сервисом для написания скриптов / кодов. Если вы сообщите нам, что вы уже пробовали (включая скрипты / код, который вы уже используете) и где вы застряли, мы можем попытаться помочь с конкретными проблемами. Вам также следует прочитать [Как мне задать хороший вопрос?] (Https://superuser.com/help/how-to-ask). DavidPostill 7 лет назад 0
`Public Sub SaveToDisk (itm как Outlook.MailItem)` `Dim objAtt As Outlook.Attachment`` Dim saveFolder As String` `Dim dateFormat` dateFormat = Format (Теперь," гггг-мм-дд ") objAtt.SaveAsFile saveFolder &" \ "& dateFormat &" .xls "Set objAtt = Nothing End Sub Ted Hoffer 7 лет назад 0
Пожалуйста, не ставьте код в комментариях (он не читается), вместо этого [отредактируйте] свой вопрос. Я сделал это для тебя в этот раз. Пожалуйста, проверьте, что я сделал это правильно. DavidPostill 7 лет назад 0
В этом слишком много редакционных статей, чтобы понять их смысл, но: в папках назначения, как представляется, уровень детализации на 2 или 3 больше, чем в схеме именования вложений, поэтому, если вы хотите автоматизировать это, вам нужно либо имя файла чтобы содержать всю необходимую информацию, или вам нужна база данных, которая может 1) идентифицировать отношения между оператором и папкой назначения; и 2) использовать эту базу данных для заполнения пробелов в информации (возможно, через имя оператора или адрес электронной почты источника). Yorik 7 лет назад 0

0 ответов на вопрос