Автоматично зберігайте вкладення з пошти на мережевому диску


2

Кожного ранку я отримую автоматично створений електронний лист від сервера, він включає вкладення електронної таблиці. Я прийняв правило щодо прогнозу, що фіксує ці електронні листи. Тепер я хотів би зробити макрос для перейменування доданого файлу (. Xls) у = сьогодні () і зберегти його у папці на мережевому диску. Цей макрос повинен працювати щонеділі о 8:00. Я створив багато VBA в Excel, але не маю досвіду в перспективі. Можливо, це можливо? І хтось знає, як це зробити?

Ласкаво поважає Стаал


Як ви плануєте запланувати макрос?
thims

Я хотів би, щоб макрос запускався автоматично у будній день № 2,3,4,5 та 6, керований оператором if із часом часу ("08:00:00"). Як я створив кілька макросів у excel, але я не знаю чи можливо це у світогляді?
користувач269646

Це можливо, але щось повинно викликати вашу заяву "якщо".
thims

Я не знаю, чи це ви маєте на увазі? Але чи можете ви розмістити приватний підрозділ у цьому сеансі програми Outlook, як описано нижче: Приватна підручник із робочою книжкою_Open () x = будній день (дата) Якщо x = 2, тоді Application.OnTime TimeValue ("08:00:00"), "назва підрозділу Msgstr "Закінчити, якщо закінчити Sub, то він повинен викликати другий макрос, який знаходиться в модулі. Якщо Outlook відкритий.
користувач269646

На жаль, в Outlook не існує методу OnTime. Ось чому я попросив вас про планування макросу =) Ви можете спробувати вирішити це, використовуючи обгорткові завдання з нагадуванням чи щось подібне ... Але я не думаю, що це гарна ідея.
thims

Відповіді:


1

Навіщо відкладати збереження до 8:00?

У правилі, що "захоплює ці електронні листи", зберігайте за допомогою "запустіть сценарій".

Sub saveAttachtoDisk(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment
Dim saveFolder As String

saveFolder = "D:\temp"  ' change to your path

For Each objAtt In itm.Attachments
    objAtt.SaveAsFile saveFolder & "\" & Format(Now, "yyyy-mm-dd") & ".xls"
Next

End Sub

Редагувати на основі коментаря:

Не впевнений, що ви хочете зробити це всередині saveAttachtoDisk, але маніпулювати робочою книжкою після її збереження є Excel.

Спробуйте GetObject, якщо є помилка, тоді використовуйте CreateObject ("Excel.Application") http://support.microsoft.com/kb/288902

Тоді щось подібне чи будь-який інший спосіб працює для вас, оскільки ви знаєте Excel VBA.

Робочі зошити.Відкрити (назва файлу)

Робочі листи (1) .Name = "Лист 1"


Редагувати 2 на основі коментаря:

Ви повинні передати параметр.

Відкрийте пошту, потім F8 тут.

Sub saveAttachtoDisk_test
Dim currItem as mailitem
set curritem = activeinspector.currentitem
saveAttachtoDisk curritem
set currItem = nothing
end sub

Знайдено недійсний сценарій. Ваш сценарій зберігає ВСІ додатки для даного повідомлення до одного .xls-файлу, перезаписуючи одне за одним. Більше того, у вас немає ніякого способу запустити його на вибрані повідомлення. Найкращий результат, який можна отримати за допомогою цього сценарію + правило, - це збереження останнього вкладення у вибраній папці до файлу.
Тімс

@thims Правда, якщо в пошті було більше ніж одне вкладення "воно включає вкладення електронної таблиці."
нітон

Дякую, запускайте правило сценарію із призначеним макросом запускається ідеально :-). Однак зараз я бачу непередбачену проблему. Аркуш мого файлу excel також містить ім'я зміни, чи можу я перейменувати це в одному макросі? Так що він завжди буде називатися однаковим (можливо, Sheet1)
user269646

Дякую. Я спробую побачити, чи не можу я змусити його працювати в цьому макросі. Однак я, мабуть, натиснув неправильну кнопку? тому що раптом я не можу переступити мене через макро з F8, хтось знає рішення?
користувач269646

0

Причиною я прокоментував це запитання в тому, що немає адекватного способу досягти бажаного результату лише за допомогою Outlook VBA. Вам знадобиться знайти сторонне рішення. Я особисто можу порекомендувати продукт своєї компанії: ReliefJet Essentials для Outlook Professional Edition . Він надає командний рядок, який можна використовувати для планування утиліти Зберегти вкладення за допомогою програми планування завдань Windows. Хоча ви не зможете перейменувати вкладення, можна створити папку з іменем із будь-яким шаблоном дати та часу, який ви можете уявити для себе вкладених файлів. Єдиний недолік: за це потрібно заплатити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.