8.х Работа с Word в 1С

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем neek666, 21 дек 2015.

  1. TopicStarter Overlay
    neek666
    Offline

    neek666 Опытный в 1С

    Регистрация:
    11 окт 2011
    Сообщения:
    126
    Симпатии:
    2
    Баллы:
    29
    Всем доброго времени суток. Простите, если такая тема уже существовала, искал, но не нашел. В принципе задача очень простая, если знать определенные функции работы с Word. Есть файл, формат *.doc. Необходимо его подрузить в 1С 8.2 произвести поиск определенных символов/слов и их последующую замену. Всё, больше ничего делать не надо. Перешурстил уже весь инет, все форумы, найти не могу. Везде пишут как открыть документ из шаблона и его заполнять. Но мне не надо его заполнять, он уже создан, и заполнен как надо. Необходимо только произвести поиск и замену определенных символов/слов. Подскажите пожалуйста, кто знает, или хотя бы скиньте ссылку где искать. Спасибо за понимание.
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.780
    Симпатии:
    509
    Баллы:
    204
    Работали с word через ActiveDocument ?
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    У объектов в документе есть методы Find, справку по методу можно найти в справке по VBA.
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.780
    Симпатии:
    509
    Баллы:
    204
    Ну чел отписался что читал как заполнять из шаблона, хотя там как раз и присутствует методы поиска
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    ну так открыть существующий документ - имхо, гораздо проще :)
  6. TopicStarter Overlay
    neek666
    Offline

    neek666 Опытный в 1С

    Регистрация:
    11 окт 2011
    Сообщения:
    126
    Симпатии:
    2
    Баллы:
    29
    Проблему решил. Вот, Если кому пригодится, я не жадный:

    Документ = WordПриложение.Documents.Open(Файл_н,, -1);
    Документ.Activate();

    ДлинаТекста = СтрДлина(Документ.Content.Text);

    Для СчетчикЦикла = 1 по ДлинаТекста - 1 цикл
    Если Документ.Range(СчетчикЦикла, СчетчикЦикла + 1).Text = "а" тогда
    Состояние("завершено на " + Строка(СчетчикЦикла/ДлинаТекста*100) + "%");
    Документ.Range(СчетчикЦикла, СчетчикЦикла + 1).Text = "б"
    КонецЕсли;
    КонецЦикла;

    Документ.SaveAs(Файл_н + "(копия).doc");
    Документ.Close();

    код перебирает текст из документа Word посимвольно, и меняет каждый символ "а" на символ "б".
    --- Объединение сообщений, 21 дек 2015 ---
    Методы поиска через одно место... мне нужен именно посимвольный перебор. Проблему решил, код скинул. Как видите, буквально несколько строчек. Код очень простой. Работает достаточно быстро... ну скажем так, гораздо быстрее чем ожидал.
    --- Объединение сообщений, 21 дек 2015 ---
    особенно если там несколько тысяч строк, и нужно одни символы менять на другие)))
  7. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    мдя....если скорость такого решения устраивает, то почему бы и да :)

Поделиться этой страницей