HPC.ru lite - Все форумы
Форум: [OFF] Оффтопики не про КПК
Тема: Подскажите по Outlook
Страницы: [1] 2

[Ответить]
sewa9 [29.05.2007 01:00] Подскажите по Outlook:
Долго не мог решить где создать тему, и понял, что здесь много народу собирается - может и подскажут что...

Суть вопроса в том, что по работе очень часто приходится синхронизировать контакты/календарь/задачи с Outlook (на сей момент самый лучший способ переброски с системы на систему) на разных машинах. Поэтому календарь забивается кучей ненужной инфы...
Хотелось бы найти способ как очищать всю БД в Outlook! Собственно в этом и вопрос!
Заранее спасибо!
Новый папа [29.05.2007 19:29] :
Самое простое (имхо) написать небольшой макрос
Но это если Outlook не 97 (в той версии еще макросов не было).

Один раз сменил телефон и все контакты залились туда в обратном порядке (вместо Имени фамилия, вместо Фамилии - Имя). Я тогда как раз написал макрос, который в Оутлуке менял поля местами. После этого я врубал синхронизацию, а потом снова запускал макрос, чтобы вернуть все на место в Оутлуке.


sewa9 [29.05.2007 19:32] :
Outlook версии 2002...

Сможешь написать макрос очищающий все (календарь, контакты и т.д.) ?
А с меня пиво
Новый папа [29.05.2007 19:44] :
Думаю, что смогу. Тебе как быстро надо? А то у меня сейчас завал.
sewa9 [29.05.2007 20:16] :
ну как сделаешь, впринципе не горит!
Slav_on [29.05.2007 20:25] :
sewa9:
>> Сможешь написать макрос очищающий все (календарь, контакты и т.д.) ?
<< Может я чегото не понимаю, но какая проблема в удалении всей инфы из Оутглюка? Затер все БД, всю папку с данными, где Оутглюк инфу хранит и все дела .
Новый папа [30.05.2007 18:03] :
sewa9, вот код, который по контактам бегает и удаляет.

Для olFolderCalendar и olFolderTasks наверняка можно аналогичное сделать.
Только они скорее всего в Корзину переместятся. Но там их тоже прибить можно аналогичным образом
sewa9 [30.05.2007 22:52] :
контакты удалить то какраз и не проблема...Нужно сносить именно все остально (календарь особенно сложно)! этот макрос только для контактов, я так понял?

а папки удалять боязливо, вдруг что не то снесу, а времени на реинстал часто НЕТ!
Новый папа [30.05.2007 23:12] :
Макрос берет все элементы из папки Контактов

Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items

и удаляет их по одному

For Each myItem In myContacts
myItem.Delete
Next

Сделай по аналогии
Set myTasks = myNamespace.GetDefaultFolder(olFolderTasks).Items

и будут удаляться задачи. Только само собой надо будет объявить переменные соответствующих типов.
sewa9 [31.05.2007 11:06] :
То есть для очистки календдаря макрос будет вида:

Private Sub Delete_Calendar()
Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim myCalendar As Outlook.Items
Dim myItem As CalendarItem
Dim Name As String

Set myOlApp = CreateObject("Outlook.Application"
Set myNamespace = myOlApp.GetNamespace("MAPI"
Set myCalendar = myNamespace.GetDefaultFolder(olFolderCalendar).Items

For Each myItem In myCalendar
myItem.Delete
Next
End Sub

Просто я в этом вообще не шарю...
[Ответить]
[Вперед >]