Подскажите по Outlook
Подскажите по Outlook
Долго не мог решить где создать тему, и понял, что здесь много народу собирается - может и подскажут что...
Суть вопроса в том, что по работе очень часто приходится синхронизировать контакты/календарь/задачи с Outlook (на сей момент самый лучший способ переброски с системы на систему) на разных машинах. Поэтому календарь забивается кучей ненужной инфы...
Хотелось бы найти способ как очищать всю БД в Outlook! Собственно в этом и вопрос!
Заранее спасибо!
Суть вопроса в том, что по работе очень часто приходится синхронизировать контакты/календарь/задачи с Outlook (на сей момент самый лучший способ переброски с системы на систему) на разных машинах. Поэтому календарь забивается кучей ненужной инфы...
Хотелось бы найти способ как очищать всю БД в Outlook! Собственно в этом и вопрос!
Заранее спасибо!
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>
- Но почему?........Ведь я живу.
<В. Цой>
- Новый папа
- Нобелевский лауреат (7 lvl)
- Сообщения: 18916
- Зарегистрирован: Сб июн 11, 2005 10:16
Самое простое (имхо) написать небольшой макрос
Но это если Outlook не 97 (в той версии еще макросов не было).
Один раз сменил телефон и все контакты залились туда в обратном порядке (вместо Имени фамилия, вместо Фамилии - Имя). Я тогда как раз написал макрос, который в Оутлуке менял поля местами. После этого я врубал синхронизацию, а потом снова запускал макрос, чтобы вернуть все на место в Оутлуке.
[/url]

Но это если Outlook не 97 (в той версии еще макросов не было).
Один раз сменил телефон и все контакты залились туда в обратном порядке (вместо Имени фамилия, вместо Фамилии - Имя). Я тогда как раз написал макрос, который в Оутлуке менял поля местами. После этого я врубал синхронизацию, а потом снова запускал макрос, чтобы вернуть все на место в Оутлуке.
[/url]
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
- Новый папа
- Нобелевский лауреат (7 lvl)
- Сообщения: 18916
- Зарегистрирован: Сб июн 11, 2005 10:16
- Новый папа
- Нобелевский лауреат (7 lvl)
- Сообщения: 18916
- Зарегистрирован: Сб июн 11, 2005 10:16
sewa9, вот код, который по контактам бегает и удаляет.
Только они скорее всего в Корзину переместятся. Но там их тоже прибить можно аналогичным образом
Для olFolderCalendar и olFolderTasks наверняка можно аналогичное сделать.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
Только они скорее всего в Корзину переместятся. Но там их тоже прибить можно аналогичным образом

Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
контакты удалить то какраз и не проблема...Нужно сносить именно все остально (календарь особенно сложно)! этот макрос только для контактов, я так понял?
а папки удалять боязливо, вдруг что не то снесу, а времени на реинстал часто НЕТ!
а папки удалять боязливо, вдруг что не то снесу, а времени на реинстал часто НЕТ!
- Мне говорят, что жить вот так, как я сейчас, нельзя.
- Но почему?........Ведь я живу.
<В. Цой>
- Но почему?........Ведь я живу.
<В. Цой>
- Новый папа
- Нобелевский лауреат (7 lvl)
- Сообщения: 18916
- Зарегистрирован: Сб июн 11, 2005 10:16
Макрос берет все элементы из папки Контактов
Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items
и удаляет их по одному
For Each myItem In myContacts
myItem.Delete
Next
Сделай по аналогии
Set myTasks = myNamespace.GetDefaultFolder(olFolderTasks).Items
и будут удаляться задачи. Только само собой надо будет объявить переменные соответствующих типов.
Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items
и удаляет их по одному
For Each myItem In myContacts
myItem.Delete
Next
Сделай по аналогии
Set myTasks = myNamespace.GetDefaultFolder(olFolderTasks).Items
и будут удаляться задачи. Только само собой надо будет объявить переменные соответствующих типов.
Если долго сидеть на берегу hpc, то можно увидеть как всплывают завсегдатаи (с) Новый папа
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
Вижу, что Вас мне не переубедить, поэтому сразу перейдем к оскорблениям
"Люблю когда я прав" (с) Ортега
Сип!
Я последний житель Оффтопиков
То есть для очистки календдаря макрос будет вида:
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
Просто я в этом вообще не шарю...
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
Ну вцелом так, только не совсем так. Дело в том, что в Оутлуке нет типа CalendarItem 
Вот TaskItem есть.
Можно попробовать просто как Object объявить, может тогда прокатит.
Ты оутлук запусти, нажми Alt-F11 и пробуй набирать. Ctrl-Пробел выдает выпадающий список доступных команд и объектов. А по F1 справка вываливается.
Я б тебе сделал, но времени совсем нет. Вот на форум иногда захожу, чисто расслабиться

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

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