none
Макрос вызова сообщения из файла msg Outlook 2007 RRS feed

  • Вопрос

  • Добрый день!

    Есть заготовленный бланк письма в виде файла msg.

    Мне необходимо создать кнопку на панели инструментов в Outlook 2007, которая в свою очередь будет вызывать макрос вызова этого сообщения.

    Подскажите пожалуйста код для макроса такого.

    Спасибо!

    24 марта 2014 г. 9:47

Ответы

  • Для решения этого вопроса в Outlook 2010, используется макрос:

    Sub ШаблонЖук_тест()
    Set newItem = Application.CreateItemFromTemplate("D:\Тест\Жук_тест.oft")
    newItem.Display
    Set newItem = Nothing
    End Sub

    В Outlook 2010 открываем сообщение на основе которого необходимо создать шаблон, если в шаблоне имеется личная подпись, то удаляем её. Сохраняем Сообщение в формате шаблона Outlook (в примере кода путь D:\Тест\Жук_тест.oft).
    Комбинацией Alt+F11 открываем VBA, переходим MicrosoftOutlookObjects => ThisOutlook Session в раздел которого и вводим выше приведённый код.

    Данный макрос становится доступным для добавления на панель быстрого доступа. Кнопку этого макроса выводим на панель Быстрого доступа.

    Попробуйте применить этот макрос в Outlook 2007.


    Да, я Жук, три пары лапок и фасеточные глаза :))


    24 марта 2014 г. 15:20
    Модератор

Все ответы

  • в excel это делается таким макросом:

    Workbooks.Open fileName:="C:\Users\izhavoronkov\Desktop\Äîêóìåíòàöèÿ\ôîðìàò ñîîáùåíèÿ.msg"

    но в Outlook нет этого workbooks.

    как быть?

    24 марта 2014 г. 10:52
  • Для решения этого вопроса в Outlook 2010, используется макрос:

    Sub ШаблонЖук_тест()
    Set newItem = Application.CreateItemFromTemplate("D:\Тест\Жук_тест.oft")
    newItem.Display
    Set newItem = Nothing
    End Sub

    В Outlook 2010 открываем сообщение на основе которого необходимо создать шаблон, если в шаблоне имеется личная подпись, то удаляем её. Сохраняем Сообщение в формате шаблона Outlook (в примере кода путь D:\Тест\Жук_тест.oft).
    Комбинацией Alt+F11 открываем VBA, переходим MicrosoftOutlookObjects => ThisOutlook Session в раздел которого и вводим выше приведённый код.

    Данный макрос становится доступным для добавления на панель быстрого доступа. Кнопку этого макроса выводим на панель Быстрого доступа.

    Попробуйте применить этот макрос в Outlook 2007.


    Да, я Жук, три пары лапок и фасеточные глаза :))


    24 марта 2014 г. 15:20
    Модератор
  • сделал все так. ругаться на код перестал. но ничего не происходит при нажатии на кнопку теперь.

    попробовал такой код, тоже ничего совершенно не происходит. в чем проблема может быть?

    Sub Создать()
        Dim OL As Outlook.Application
        Dim Msg As Outlook.MailItem
        Set OL = New Outlook.Application
        Set Msg = OL.CreateItemFromTemplate("C:\Users\izhavoronkov\Desktop\1.msg")
    End Sub

    25 марта 2014 г. 5:56
  • Вы невнимательно использовали данный Вам код VBA.

    Данный Вам код, предназначен для созданного и сохранённого как шаблон сообщения.

    P.S. Напоминаю, что при использовании макросов в Outlook, Outlook должен быть настроен на правильную работу с макросами.


    Да, я Жук, три пары лапок и фасеточные глаза :))

    25 марта 2014 г. 6:31
    Модератор
  • Вы невнимательно использовали данный Вам код VBA.

    Данный Вам код, предназначен для созданного и сохранённого как шаблон сообщения.

    P.S. Напоминаю, что при использовании макросов в Outlook, Outlook должен быть настроен на правильную работу с макросами.


    Да, я Жук, три пары лапок и фасеточные глаза :))

    Сорри, поменял файл на 1.oft. Результат тот же.

    Что значит, настроить outlook? что нужно сделать, чтобы макросы работали правильно?

    25 марта 2014 г. 9:34
  • В настройках Outlook необходимо разрешить работу макросов.

    Правильнее, подписать легитимной цифровой подписью макрос, в настройках Outlook, разрешить работу подписанных цифровой подписью макросов.


    Да, я Жук, три пары лапок и фасеточные глаза :))


    25 марта 2014 г. 9:45
    Модератор