Тема: ComWordDocument_RU
Показать сообщение отдельно
Старый 02.06.2006, 18:08   #5  
Writer is offline
Writer
Участник
 
42 / 11 (1) +
Регистрация: 27.12.2001
Адрес: Москва
Цитата:
Сообщение от DreamCreator
Подскажите пожалуйста как скопировать?
Сначала необходимо выделить участок копирования в нужном документе. Для всего документа писал следующие методы:
Код:
//select all document ([Ctrl] + [A])
void selectAll()
{
    COM         аctiveWindow;
    COM         selection;

    try
    {
        selection = m_comApplication.selection();
        selection.WholeStory();
    }

    catch(exception::Error)
    {
         checkFailed(strFmt("@SYS19306", funcName()));
    }

    if (selection)
        selection.finalize();

}
Затем копирую:
Код:
//copy select range ([Ctrl] + [C])
void copy()
{
    COM         аctiveWindow;
    COM         selection;

    try
    {
        selection = m_comApplication.selection();
        selection.Copy();
    }

    catch(exception::Error)
    {
         checkFailed(strFmt("@SYS19306", funcName()));
    }

    if (selection)
        selection.finalize();

}

Теперь для нужного COM обекта Word делаю вставку:
Код:
//paste copy buffer ([Ctrl] + [V])
void paste()
{
    COM         аctiveWindow;
    COM         selection;

    try
    {
        selection = m_comApplication.selection();
        selection.Paste();
    }

    catch(exception::Error)
    {
         checkFailed(strFmt("@SYS19306", funcName()));
    }

    if (selection)
        selection.finalize();
}
И не забывайте про то, что если вставку нужно сделать в определенном месте документа, а не на текущей позиции курсора, переместите курсов в это место перед вставкой.
За это сообщение автора поблагодарили: DreamCreator (1).