Перейти к содержимому

Фотография

Attachments в Outlook


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 *Angel*

*Angel*

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:*Angel*

Отправлено 05 апреля 2007 - 12:39

Программа генерит Error report в виде письма в Outlook и прикладывает архив базы. Название архива связано с текущей датой.

Как проверить, есть ли аттачи и как прочитать название приаттаченного архива? :blush:

спасибо
  • 0

#2 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 06 апреля 2007 - 11:26

Здравствуйте.

Попробовать прочитать письмо через COM объект Outlook'а. Пример работы с Outlook найдёте в папке 'C:\Program Files\Automated QA\TestComplete 5\Samples\Scripts\MSOffice'.
  • 0
С уважением,
Дмитрий

#3 *Angel*

*Angel*

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:*Angel*

Отправлено 06 апреля 2007 - 15:01

В примере показывается как создается новое сообщение и как потом с ним работать. Меня интересует, если программой сгенерился error report в виде письма, как в уже существующем письме определить есть ли аттачи, ведь само письмо уже в Winword процессе.
  • 0

#4 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 12 апреля 2007 - 06:03

Здравствуйте.

Боюсь, что не знаю как это сделать. Вам надо посмотреть документацию на OLE модель Outlook. Скорее всего, вы сможете найти там нужную информацию.
  • 0
С уважением,
Дмитрий

#5 *Angel*

*Angel*

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:*Angel*

Отправлено 08 мая 2007 - 14:04

Мне из поддержки прислали скрпит, надеюсь, кому-то поможет:
w1=Sys.Process("WINWORD").Window("OpusApp", "Error Reported ", 1).Exists;
  while ((!w1)&&(temp<300))
    {
      BuiltIn.Delay(1000);
      temp++;
    }
  if (Sys.Process("WINWORD").Window("OpusApp", "Error Reported ", 1).Exists)
  {

    w2=Sys.Process("WINWORD").Window("OpusApp", "Error Reported", 1).Window("MsoCommandBarDock", "MsoDockTop", 3).Window("MsoCommandBar", "Envelope", 1).Window("#32770", "", 1);
    attachmentsField = w2.Window("RichEdit20WPT", "", 9);
    outlook = Sys.Process("OUTLOOK");  
    attachments = GetAttachments(outlook, attachmentsField);
    for(i = 0; i < attachments.length; i++)
    { 
      Log.Message(attachments[i]);
      if (attachments[i]!="")
      {
        ProjectSuite.Variables.CreateErrorReport="Success";
        Log.Message ("*** Create Error Report success ***");
        break;
      }
    }
   }

function GetAttachments(outlook, attachmentsFiled)
{
  var i, saveAsDialog, field, number, attachments;

  attachments = new Array();

  field = attachmentsFiled;
  if (field.wText == "")
    return attachments;
  if (field.wText == " ")
    number = 1;
  else
    number = field.wText.split(";").length;

  field.Keys("^[Home]");
  for(i = 0; i < number; i++) {
    field.Keys("[Apps]");
    field.PopupMenu.Click("Save As...");
    saveAsDialog = outlook.Window("bosa_sdm_Mso96", "Save Attachment");
    attachments[i] = saveAsDialog.Window("RichEdit20W", "", 2).wText;
    saveAsDialog.Keys("[Esc]");
    field.Keys("^[Right]^[Right]");
  }
  return attachments;
}

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных