Office.Interop.Word Find.Execute Method теряется форматирование

Тема в разделе "WASM.WIN32", создана пользователем _Juicy, 9 авг 2011.

  1. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    При замене текста в документе
    Код (Text):
    1.     RangePtr pContent = Doc->Content;
    2.  
    3.     VARIANT_BOOL ff = pContent->Find->Execute (&fromstr,
    4.                                                &falsvar,
    5.                                                &vtMissing,
    6.                                                &vtMissing,
    7.                                                &vtMissing,
    8.                                                &vtMissing,
    9.                                                &vtMissing,
    10.                                                &vtMissing,
    11.                                                &falsvar,
    12.                                                &tostr,
    13.                                                &replace,
    14.                                                &vtMissing,
    15.                                                &vtMissing,
    16.                                                &vtMissing,
    17.                                                &vtMissing);
    18.     Doc->Save ();
    19.     Doc->Close ();
    после программного сохранения и открытия заново теряется форматирование, документ превращается в простой текст. До переоткрытия этого не видно. Баг проявляется в Office 2k3, в 2k7 все работает нормально.

    ПС: Подскажите, пожалуйста, хороший живой форум по теме.
     
  2. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Squash
    А Вы подскажите с чего начать программирование под офис, вернее с чего вы начинали - ссылки, исходники и т.п.
    По теме, к сожалению, ничего не могу ответить.
     
  3. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Вобщем-то, я под офис не программирую, пришлось всвязи с достаточно узкой задачей.
    Вот отсюда можно попробовать плясать
    http://www.codeproject.com/KB/COM/outlookaddin.aspx
    Но как я понимаю, программировать под офис лучше на ВБ или шарпе, там достаточно и исходников, и инструментов.
     
  4. sergegers

    sergegers New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2008
    Сообщения:
    172
    1. проверьте возвращаемые значения методов
    2. форумы rsdn.ru
     
  5. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Squash
    Можно ли на шарпе программировать под Office 2000?
     
  6. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Вопрос конечно интересный :) Думаю, чтобы на него ответить, нужно очень хорошо разбираться в шарпе, но теоретически должно быть возможно.
     
  7. SilentSnowfall

    SilentSnowfall New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2011
    Сообщения:
    27
    Ezrah, смотря что понимается под "программированием под Office".
    1. Если написание макросов, надстроек и т.п. - вряд ли, по-моему только в Office XP возможность появилась. Кому вообще в 2011 году может понадобиться Office 2000? oO.
    2. Если взаимодействие с приложениями с помощью COM - никаких проблем нет.
    3. Если необходимо просто генерировать документы в форматах, совместимых с office - есть масса сторонних библиотек.
     
  8. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    SilentSnowfall
    На рабочем компьютере установлена Win2k и Office 2000 соответственно, и менять по ходу не собираются.
    Нужно мне например следующее: открыть таблицу в БД, применить пару фильтров, скопировать отфильтрованное, вставить в нужную книгу Excel и там запустить уже готовый макрос (на VB). Такое осуществимо? Это бы сильно облегчило мне работу)