Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Outlook VBA

Автор: Kacblm
Дата сообщения: 23.04.2010 08:22
Доброе утро Господа.

Есть проблема:

Как вы знаете если файл личных папок (Personal Folders) .pst имеет предел в 1.8 ГБ. И когда это предел достигнут почта на отрез отказывается сыпаться и отправляться. Перетаскивание и сжатие занимает большое колл-во времени. Если ипользовать другой файл (не Personal folders) то лимит у .pst-шника ограничен размерами HDD, но этот файл с нашим почтовым сервером не дружит. Ладно ближе к делу.

Может быть есть вариант создать в VBA "нечно" что будет проверять размер .pst а когда он дойдёт к примеру до 1.5 Гб выдовать некую месагу, что бы пользователи начинали чистить почту, или архивировать. Прошу помочь, штат большой сил на всех не хвотает. Спасибо.
Автор: dneprcomp
Дата сообщения: 23.04.2010 16:40
Kacblm
Как возможный вариант. На открытие Outlook создаем имейл с атачментом pst файла и проверяем его размер.
1. Automate Outlook - как делать что-либо при старте Outlook
2. Using Automation to Send a Microsoft Outlook Message
3.Check message size before sending large messages
Автор: aha
Дата сообщения: 01.09.2010 12:50
нужен VBA код
имеется: Outlook 2010 и архиватор 7-zip
задача- автоматически сжимать отправляемые вложения
Автор: Drazhar
Дата сообщения: 06.09.2010 11:20

Код: Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim sTemp As String
Dim sRes As String
sTemp = "C:\Tcheb\"
For Each oAtt In Item.Attachments
If Right(oAtt.FileName, 2) <> "7z" Then
oAtt.SaveAsFile (sTemp & oAtt.FileName)
'-----------------------------------------
'пакуете файл(новый путь в переменной sRes)
'-----------------------------------------
Item.Attachments.Add sRes
End If
Next
For Each oAtt In Item.Attachments
If Right(oAtt.FileName, 2) <> "7z" Then
oAtt.Delete
End If
Next
For Each oAtt In Item.Attachments
If Right(oAtt.FileName, 2) <> "7z" Then
oAtt.Delete
End If
Next
MsgBox ("aaa")
End Sub
Автор: aha
Дата сообщения: 24.10.2010 01:49
ошибка получается здесь
Item.Attachments.Add sRes
папку C:\Tcheb создал и файлы туда скопировались...
но архивации не произошло....
Автор: Vital283
Дата сообщения: 01.11.2010 14:03
Проверь команды архиватора в скрипте,
мож файл архиватора не найден
Автор: aha
Дата сообщения: 01.11.2010 21:20
Vital283

Цитата:
Проверь команды архиватора в скрипте,
мож файл архиватора не найден

файлы архиватора находяться тут
C:\Program Files\7-Zip
----------------------------
эээ....куда и как нужно вписать их в скрипт?
Автор: aha
Дата сообщения: 12.12.2010 00:09
Спасибо!
Скрипт доделал.Все отлично работает с любым архиватором.
Автор: ALexx99
Дата сообщения: 27.09.2012 09:35
Привет!

Стоит задача - автоматически добавлять в скрытую копию дополнительный емейл.

Пробовал вот такой скрипт:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error Resume Next
' Либо так:
Item.BCC = "itsme@mail.com"
'Либо эдак:
Set myRecipient = myItem.Recipients.Add("itsme@mail.com")
myRecipient.Type = olBCC

On Error GoTo 0
End Sub

Второй вариант не заработал, а первый работает(с ошибкой, но работает) - до первой перезагрузки аутлука, потом не работает.

Есть какие нибудь идеи?
Автор: Black_Lung
Дата сообщения: 27.09.2012 10:56
myItem не назначено, может нужно Item.Recipients.Add
Автор: ALexx99
Дата сообщения: 27.09.2012 14:04

Цитата:
myItem не назначено,

Да, есть такое - теперь работает, но выдает ошибку "невозможно определить получателя". Но правда кода ошибку закрываешь, и еще раз на отправить наживаешь - все уходит как надо.

Страницы: 1

Предыдущая тема: Delphi 2010 аналог curl


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.