powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сохранение вложения из сообщения в указанную папку
25 сообщений из 47, страница 1 из 2
Сохранение вложения из сообщения в указанную папку
    #35637925
Gena108
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно автоматически сохранять вложения в указанную папку. С попмощью форума и справки попробовал написать такой код. Но у меня выдает ошибку: "Не удается сохранить вложение. У Вас нет соответствующих прав для выполнения этой операции". Подксажите пожалуйста, что нужно делать?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub save_new()
Dim myApp As Outlook.Application
Dim myFolder As Outlook.MAPIFolder
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("1")
DestFolder = "C:\New"
     For Each Item In myFolder.Items
        For Each Atmt In Item.Attachments
            FileName = Atmt.FileName
                Atmt.SaveAsFile DestFolder
            End If
        Next Atmt
    Next Item
End Sub
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35639556
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что вы сохраняете все вложения в указанную папку. Или же это делаете для какого-то адресата отдельно?
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35639744
Gena108
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот макрос на этапе разработки, потом если получится сохранять любой файл с папки я добавлю условие на дату получения письма.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35639826
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм..мне просто надо сделать аналогичное, но у меня привязка может осуществиться только к мыло и к теме письма.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35640861
Gena108
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, ли я понимаю, что я не могу сохранить, из-за политики безопасности компании (администраторы что-то где-то поставили). При ручном открытии приложения у меня выскакивает окно "Открытие вложения", внизу у которого, есть заблокированная галочка "Всегда спрашивать при открытии таких файлов". Нельзя как-то по другому сохранять файлы в указанную папку. Вариант с плагинами отпадает?
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35640877
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аха, правильно. Поскольку скорее вы не явялетесь полным администратором машины
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35640892
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gena108 кстати это у вас доработынй макрос??
по ходу у вас " End If" лишний
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35640920
Gena108
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я когда писал сообщение, то не вытер End if. А не могу ответить правильно ли я написал макрос, так как он у меня не работает. Причины я не знаю.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35646250
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Gena108

я так понимаю свой вопрос не удалось решить? :)
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35650153
Taranaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вдруг это поможет?
заменить
DestFolder = "C:\New"
на
DestFolder = "C:\New\"
...
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35650186
Taranaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так получается?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub save_new()
Dim myApp As Outlook.Application
Dim myFolder As Outlook.MAPIFolder
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("1")
DestFolder = "C:\New\"
        
If myFolder.Items.Count >  0  Then
    For i =  1  To myFolder.Items.Count
        If myFolder.Items(i).Attachments.Count >  0  Then
            For j =  1  To myFolder.Items(i).Attachments.Count
                myFolder.Items(i).Attachments.Item(j).SaveAsFile DestFolder & myFolder.Items(i).Attachments.Item(j).DisplayName
            Next j
        End If
    Next i
End If
End Sub
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35654980
Gena108
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает. Ура!!!!!!!!. Я уже смирился, что невозможно автоматически сохранить. Спасибо большое.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35655236
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм...а у меня не работает. 2 Gena108 можешь сказать, что ты делаешь (напрмиер вкратце по шагово)
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35655329
Gena108
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть много причин, может не установлена библиотека для Оутлук, может не создана папка "1" в папке "Входящие", может не создана на локальном диске папка New и т.д.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35657471
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я понял в чем у меня была загвоздка )) Я пытался его присториить к вновь поступавшим письмам. А так он работает и копирует уже ранее скопированные файлы
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35713127
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм..а как сделать сохранение файлов по правилу? Т.е. есть уже правильно которое кидает письма в указанную папку, а вот тепреь привязат к правиу макрос.И я так понимаю, что макрос будет только для непрочитаных файлов?
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35777903
Sasha_Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gena108,

Все работает, но как выбрать исходную папку источник из личных папок (*.pst), то есть вся проблема сводится к указанию пути к произвольной ЛИЧНОЙ папке? GetDefaultFolder не предлагает такой выбор :-((
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35880983
admin12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы сохранить скрипт в правиле Outlook нужно задать "Sub save_new(Item As Outlook.MeetingItem)", тогда он появится в списке сценариев.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35881037
admin12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу прощения, работает только с "Sub save_new(Item As Outlook.MailItem)..."
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35885249
Shaher-Maher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм...заработало )) спс...
только вот как применять вышеупомянутый скрипт только к вновь постпупившим файлам? А то при запуске данного сценария, скрипт обрабатывает всю почту от юзера и копирует все вложения.


И вот возник вопрос, при переборе почты.Как скопировать письма с вложениями на локалку? Т.е. сделать примерно следующее: все письма с папки Иванов в Атулуке скопировать на локалку в папку Иванов, но при этом создавать отдельные папки, например, по теме письма, и в этой папке создавать файл *.тхт (с текстом письма) и копировать вложенные файлы. Получается прмиерно следующее дерево:
С:\Иванов\..
\По деньгм
\По телефону
\По еде
..

Кто-то хотел сделать подобное?? :)
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #35975369
Всем добрый день!
А нельзя ли прокомментировать:
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox).Folders("1")
что такое "1" ?
- у меня на этом VBA спотыкается и пишет "Превышен размер массива"
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #36035947
Evgeny Boot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
file.vbs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Sub save_new()
  On Error Resume Next
  Dim myApp 'As Outlook.Application
  Dim myFolder 'As Outlook.MAPIFolder
  Set myOlApp = CreateObject("Outlook.Application")
  Set myNameSpace = myOlApp.GetNamespace("MAPI")
  Set myFolder = myNameSpace.GetDefaultFolder( 6 ) '.Folders("1")
  DestFolder = "\\server\Share"
'  myFolder.Items.Sort "ReceivedTime", false
  If myFolder.Items.Count >  0  Then
      For i =  1  To myFolder.Items.Count
         If (myFolder.Items(i).Attachments.Count >  0 ) and (myFolder.Items(i).Unread = True) Then
              For j =  1  To myFolder.Items(i).Attachments.Count
                mDebug(myFolder.Items(i).Subject & " " & myFolder.Items(i).CreationTime)
                  myFolder.Items(i).Attachments.Item(j).SaveAsFile DestFolder & _
                    left(myFolder.Items(i).CreationTime, 10 ) & "_" & _
                    myFolder.Items(i).Attachments.Item(j).DisplayName
              Next 
          End If
         if Err.Number <>  0  Then
               mDebug("Error on :" & myFolder.Items(i).Subject)
               Err.Clear
             end if
      Next
  End If
End Sub
Товарищи, помогите пжлста заставить outlook 2003 автоматически сохранять вложения в указанную папку на сетевом диске (unc-пути в данном случае). Скрипт в шедулер.
и ошибок не выдает, и не сохраняет вложения
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #36035969
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык ежели это .vbs, то добавьте первой строчкой Call save_new
или же удалите Sub и End Sub - если там тока эта процедура
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #36036857
Evgeny Boot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, в скрипте только эта процедура.
Но скрипт не работает,

по сути от него требуется только запускать outlook, смотреть Unread письма, и их аттачи складывать в \\server\share.
Если скрипт будет ещё к имени доставлять _mm-dd (дату) будет вообще идеально.
...
Рейтинг: 0 / 0
Сохранение вложения из сообщения в указанную папку
    #36036931
Evgeny Boot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но есть ещё лучше скриптик, он работает, но только на локальной машине, что мешает ему работать на терминальном сервере мне не понятно.
' To Turn On Debug Change Dim Debug from False to True in mDebug functionSub mDebug(Text) Dim Debug Debug = True If Debug Then WScript.Echo Text End IfEnd SubSub save_new() On Error Resume Next Dim myApp 'As Outlook.Application Dim myFolder 'As Outlook.MAPIFolder Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) '.Folders("1") DestFolder = "C:\Scripts\"' myFolder.Items.Sort "ReceivedTime" false If myFolder.Items.Count > 0 Then For i = 1 To myFolder.Items.Count If (myFolder.Items(i).Attachments.Count > 0) and (myFolder.Items(i).Unread = True) Then For j = 1 To myFolder.Items(i).Attachments.Count mDebug(myFolder.Items(i).Subject & " " & myFolder.Items(i).CreationTime) myFolder.Items(i).Attachments.Item(j).SaveAsFile DestFolder & _ left(myFolder.Items(i).CreationTime10) & "_" & _ myFolder.Items(i).Attachments.Item(j).DisplayName Next End If if Err.Number <> 0 Then mDebug("Error on :" & myFolder.Items(i).Subject) Err.Clear end if Next End IfEnd SubmDebug("Start")save_new()mDebug("Done")

Запускается он по шедулеру, от "нужного" имени.
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сохранение вложения из сообщения в указанную папку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]