Подскажите по Outlook

Обсуждаем вопросы, не касающиеся КПК. Только для постоянных участников форумов.
Закрыто
Аватара пользователя
sewa9
Профессор (5 lvl)
Сообщения: 501
Зарегистрирован: Ср янв 04, 2006 16:57

Подскажите по Outlook

Сообщение sewa9 » Вт май 29, 2007 01:00

Долго не мог решить где создать тему, и понял, что здесь много народу собирается - может и подскажут что...

Суть вопроса в том, что по работе очень часто приходится синхронизировать контакты/календарь/задачи с Outlook (на сей момент самый лучший способ переброски с системы на систему) на разных машинах. Поэтому календарь забивается кучей ненужной инфы...
Хотелось бы найти способ как очищать всю БД в Outlook! Собственно в этом и вопрос!
Заранее спасибо!
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>

Аватара пользователя
Новый папа
Нобелевский лауреат (7 lvl)
Сообщения: 18916
Зарегистрирован: Сб июн 11, 2005 10:16

Сообщение Новый папа » Вт май 29, 2007 19:29

Самое простое (имхо) написать небольшой макрос :)
Но это если Outlook не 97 (в той версии еще макросов не было).

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

[/url]
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков

Аватара пользователя
sewa9
Профессор (5 lvl)
Сообщения: 501
Зарегистрирован: Ср янв 04, 2006 16:57

Сообщение sewa9 » Вт май 29, 2007 19:32

Outlook версии 2002...

Сможешь написать макрос очищающий все (календарь, контакты и т.д.) ?
А с меня пиво ;)
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>

Аватара пользователя
Новый папа
Нобелевский лауреат (7 lvl)
Сообщения: 18916
Зарегистрирован: Сб июн 11, 2005 10:16

Сообщение Новый папа » Вт май 29, 2007 19:44

Думаю, что смогу. Тебе как быстро надо? А то у меня сейчас завал.
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков

Аватара пользователя
sewa9
Профессор (5 lvl)
Сообщения: 501
Зарегистрирован: Ср янв 04, 2006 16:57

Сообщение sewa9 » Вт май 29, 2007 20:16

ну как сделаешь, впринципе не горит!
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>

Slav_on
Мобильный юрист
Сообщения: 2279
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение Slav_on » Вт май 29, 2007 20:25

sewa9:
>> Сможешь написать макрос очищающий все (календарь, контакты и т.д.) ?
<< Может я чегото не понимаю, но какая проблема в удалении всей инфы из Оутглюка? Затер все БД, всю папку с данными, где Оутглюк инфу хранит и все дела ;-).

Аватара пользователя
Новый папа
Нобелевский лауреат (7 lvl)
Сообщения: 18916
Зарегистрирован: Сб июн 11, 2005 10:16

Сообщение Новый папа » Ср май 30, 2007 18:03

sewa9, вот код, который по контактам бегает и удаляет.
Private Sub Delete_Contacts()
Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace
Dim myContacts As Outlook.Items
Dim myItem As ContactItem
Dim Name As String

Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items

For Each myItem In myContacts
myItem.Delete
Next
End Sub
Для olFolderCalendar и olFolderTasks наверняка можно аналогичное сделать.
Только они скорее всего в Корзину переместятся. Но там их тоже прибить можно аналогичным образом :)
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков

Аватара пользователя
sewa9
Профессор (5 lvl)
Сообщения: 501
Зарегистрирован: Ср янв 04, 2006 16:57

Сообщение sewa9 » Ср май 30, 2007 22:52

контакты удалить то какраз и не проблема...Нужно сносить именно все остально (календарь особенно сложно)! этот макрос только для контактов, я так понял?

а папки удалять боязливо, вдруг что не то снесу, а времени на реинстал часто НЕТ!
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>

Аватара пользователя
Новый папа
Нобелевский лауреат (7 lvl)
Сообщения: 18916
Зарегистрирован: Сб июн 11, 2005 10:16

Сообщение Новый папа » Ср май 30, 2007 23:12

Макрос берет все элементы из папки Контактов

Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items

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

For Each myItem In myContacts
myItem.Delete
Next

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

и будут удаляться задачи. Только само собой надо будет объявить переменные соответствующих типов.
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков

Аватара пользователя
sewa9
Профессор (5 lvl)
Сообщения: 501
Зарегистрирован: Ср янв 04, 2006 16:57

Сообщение sewa9 » Чт май 31, 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


Просто я в этом вообще не шарю...
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>

Аватара пользователя
Новый папа
Нобелевский лауреат (7 lvl)
Сообщения: 18916
Зарегистрирован: Сб июн 11, 2005 10:16

Сообщение Новый папа » Чт май 31, 2007 13:30

Ну вцелом так, только не совсем так. Дело в том, что в Оутлуке нет типа CalendarItem :)
Вот TaskItem есть.
Можно попробовать просто как Object объявить, может тогда прокатит.

Ты оутлук запусти, нажми Alt-F11 и пробуй набирать. Ctrl-Пробел выдает выпадающий список доступных команд и объектов. А по F1 справка вываливается.

Я б тебе сделал, но времени совсем нет. Вот на форум иногда захожу, чисто расслабиться :)
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков

Закрыто

Вернуться в «[OFF] Оффтопики не про КПК»