Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форумы Дома Индорил _ Компьютеры и прочий Hi-Tech _ Outlook

Автор: Киола Mar 16 2017, 10:05

Всем привет :) Нужна помощь погромистов.

Есть вот такое безобразие, которое случается 3-5 раз в неделю:

http://www.indoril.com/forum/index.php?autocom=gallery&req=si&img=9226

Все это нужно просматривать и сохранять. Я нашла скрипт, который можно засунуть в правила и сохранять вложения автоматически:

Код
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "L:\Мои документы\Информационные письма Росздравнадзора\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub


В принципе, даже так уже экономия времени, но в идеале нужно чтобы имя файла при сохранении было не по имени вложения, а по названию темы письма. Знаю, что так можно, куски кодов для этого находила, но, как я поняла, мешает слеш в названии темы. Опять же, видела код на замену или удаление слеша, но совместить все это знаний не хватает.

Автор: iMagus Mar 16 2017, 13:33

Ничего не знаю про скриптовый язык Аутлука. Вечером, может быть, немного поизучаю этот вопрос.

Автор: Киола Mar 16 2017, 14:16

Все, набрела на какой-то форум, допилила напильником, работает. Вот код, мало ли, кому-то еще пригодится. 26 это название файла берется от 26 символа темы (обрезает повторяющееся начало).

Код
Sub SaveAllAttachments(objitem As MailItem)
Dim objAttachments As Outlook.Attachments
Dim strName, strLocation As String
Dim dblCount, dblLoop As Double
strLocation = "Путь к папке"
On Error GoTo ExitSub
If objitem.Class = olMail Then
Set objAttachments = objitem.Attachments
dblCount = objAttachments.Count
If dblCount <= 0 Then
End If   ' put breakpoint on next line, then step through code to see if it enters loop
For dblLoop = 1 To dblCount
strName = strLocation & Replace(Mid(objitem.Subject, 26), "/", " ") & ".pdf"
objAttachments.Item(dblLoop).SaveAsFile strName
Next dblLoop
'objitem.Delete
End If
100
ExitSub:
Set objAttachments = Nothing
Set objOutlook = Nothing
End Sub

Автор: Mandey Mar 16 2017, 14:38

плять, медики кодють, а я дуб...

Автор: Киола Mar 16 2017, 14:40

Это не кодинг а расширенный копипастинг :)

Автор: iMagus Mar 16 2017, 20:00

Да программисты половину времени так и делают.

Автор: Hront Mar 16 2017, 20:18

Йа в шоке....

Автор: Киола Mar 16 2017, 20:30

Цитата(Hront @ Mar 16 2017, 21:18) *
Йа в шоке....

Почему?

Автор: Hront Mar 16 2017, 20:44

Потому что так не бывает.

Автор: Myrene Mar 26 2017, 14:23

ХП и антивирус кончился tongue.gif

Автор: Киола Apr 1 2017, 15:32

Цитата(Myrene @ Mar 26 2017, 15:23) *
ХП и антивирус кончился tongue.gif

Это аптечный рабочий комп, который даже компом можно назвать с натяжкой.
Именно поэтому этот и подобные вопросы я решаю сама, а не с IT-отделом =\

Зато у нас есть "Завтрак с генеральным директором" и флаеры на концерт митрополита в Крокусе.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)