2013-05-31 5 views
0

Я получаю новые деловые контакты в течение дня, и я держу книгу о потенциальных клиентах в CSV-файле. Меня часто связывают по электронной почте, и в сообщении клиент сообщает мне более точную контактную информацию. Для копирования и вставки каждой детали по одному в файл .csv требуется время. Я совершенно noobie в vba. Но я думаю, что это лучшее изменение для решения этой проблемы.Outlook vba: экспортировать выделенный текст в новый контакт

Что я хотел бы сделать: я выделяю имя клиента. Скажем, это Марк. Затем я нажимаю его с помощью дополнительной кнопки мыши и выбираю что-то вроде «Создать новый контакт». Outlook создает новый контакт в адресной книге. Затем я делаю то же самое для адреса и нажимаю «Экспорт как адрес для отметки».

После этого я использую другой скрипт, который экспортирует данные из контактов в CSV-файл. ИЛИ Подробности могут перейти непосредственно к CSV-файлу из тела сообщения. Я просто учил, что будут готовые решения, если мы сначала экспортируем их в контакты.

Я не нашел ничего полезного в этой идее. Я был бы очень благодарен, если бы кто-то помог мне в этом!

-Joonas

ответ

1

Где текст выделен? В области предварительного просмотра? Получить выбранный элемент (Application.ActiveExplorer.Selection). Когда у вас есть объект MailItem, вызовите MailItem.GetInspector для извлечения объекта Inspector. После того, как у вас есть объект Inspector, вы можете использовать Inspector.WordEditor для использования объектной модели Word для извлечения выделенного текста.

Обновлено: попробуйте скрипт ниже (проверка ошибок опущена для ясности)

set msg = Application.ActiveExplorer.Selection(1) 
set WordEditor = msg.GetInspector.WordEditor 
set Selection = WordEditor.Application.Selection 
if (Selection.Type = 1) or (Selection.Type = 0) or (Selection.Type = 2) Then 
    setText = Selection.Text 
    MsgBox setText 
End If 
+0

Смотрите обновленный ответ образец сценария. –

+0

Спасибо, это было очень полезно. У меня есть ** вопрос **: в «Outlook 2007» также возможно одновременное выделение нескольких отдельных слов или текстовых диапазонов нажатием клавиши «Ctrl» при выборе текста. Ваш скрипт возвращает только последнюю выбранную строку. Можно ли заставить его вернуть все части множественного выбора, разделенные e. г. разрывы строк? – MostlyHarmless

+0

Не знаю, возможно, вы захотите опубликовать конкретный вопрос в Word. –

Смежные вопросы