На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> Замена текста в Word!
    У меня есть едит. И ворд. В ворде есть текст: @edit1@. Как мне
    этот текст (в ворде) заменить на тот, что у меня в едите?
        Читал!!! Не могу понять!!!
          BIG-VL
          вот такой вот мудуль
          ExpandedWrap disabled
            unit MyWord;
             
            interface
            //*******************создаём объект ворд****************************************
              function CreateWord:boolean;
            //*******************делаем видимым*********************************************
              function VisibleWord(Visible:boolean):boolean;
            //*******************Поиск и замена*********************************************
              function FindAndReplace(FindText, ReplacementText:string):boolean;
            //*******************Проверяем, установлен ли ворд******************************
              function IsWordInstalled: Boolean;
            //*******************Открытие документа*****************************************
              function OpenDocFile(FileWord, Pass:string):boolean;
            implementation
            //*******************необходимые модули*****************************************
            uses ComObj,Registry,Windows;
            //*******************переменная для работы с объектом***************************
            var
              Word:variant;
            //*******************создаём объект ворд****************************************
            function CreateWord:boolean;
            begin
              CreateWord := true;
               try
                Word := CreateOleObject('Word.Application');
               except
                CreateWord := False;
               end;
            end;
            //*******************делаем видимым*********************************************
            function VisibleWord(Visible:boolean):boolean;
            begin
              VisibleWord := True;
               try
                Word.Visible := Visible;
               except
                VisibleWord := False;
               end;
            end;
            //*******************Поиск и замена*********************************************
            function FindAndReplace(FindText, ReplacementText:string):boolean;
            const
               wdReplaceAll=2;
            begin
              Word.Selection.Find.Text := FindText;
              Word.Selection.Find.Replecement.Text := ReplacementText;
              FindAndInsert := Word.Selection.Find.Execute(Replace := wdReplaceAll);
            end;
            //*******************Проверяем, установлен ли ворд******************************
            function IsWordInstalled: Boolean;
            var
              Reg: TRegistry;
              s: string;
            begin
              Reg := TRegistry.Create;
               try
                 Reg.RootKey := HKEY_CLASSES_ROOT;
                 Result := Reg.KeyExists('Word.Application');
               finally
                 Reg.Free;
               end;
            end;
            //*******************Открытие документа*****************************************
            function OpenDocFile(FileWord, Pass:string):boolean;
            const
               wdOpenFormatTemplate=2;
            begin
              Word.Documents.Open(FileName:=FileWord,Format:=wdOpenFormatTemplate,
                                          PasswordDocument:= Pass);
            end;
            //*******************Конец модуля***********************************************
            end.

          полностью рабочий, писал для собственных нужд...
          если что н понятно, пиши
            Цитата BIG-VL @
            Не могу понять!!!

            Что именно не понятно?
              хе, так это же мой модуль :)
              и что тебе тогда правда непонятно!!!!!!!!!????????? :blink:
                Блин не могу понять, а что именно не могу сказать потому чо всё! Этот модклю подключаю а дальше?
                  подключаешь модуль, а дальше используешь его функции
                  ExpandedWrap disabled
                    CreateWord;
                    OpenDocFile('путь к файлу','');
                    FindAndReplace('что нужно заменить','на что нужно заменить');
                    VisibleWord;
                    Цитата BIG-VL @
                    что именно не могу сказать потому чо всё!
                    :blink:
                    Если пользуешься процедурой tIce - то:

                    ExpandedWrap disabled
                      procedure TForm1.Button1Click(Sender: TObject);
                      begin
                        Word_StringReplace('C:\Test.doc','@edit1@',Edit1.Text, [wrfReplaceAll]); // Замени test.doc на имя своего файла
                      end;
                      Цитата dron-s @
                      подключаешь модуль, а дальше используешь его функции
                      ExpandedWrap disabled
                        CreateWord;
                        OpenDocFile('путь к файлу','');
                        FindAndReplace('что нужно заменить','на что нужно заменить');
                        VisibleWord;

                      Во это уже лучше!!!

                      Добавлено
                      Цитата volvo877 @
                      Если пользуешься процедурой tIce - то:

                      Это я не понял!!! :wall:
                        Цитата volvo877 @
                        что именно не могу сказать потому чо всё!

                        такое чувство, что BIG-VL не имеет не малейшего представления что к чему :wacko:
                          BIG-VL >:( Что, трудно на ник пользователя посмотреть, по той ссылке, которую я тебе дал? Или все время делать тебе Copy+Paste ???
                            Цитата BIG-VL @
                            Во это уже лучше!!!

                            и что, это тоже не работает?
                              Цитата volvo877 @
                              BIG-VL Что, трудно на ник пользователя посмотреть, по той ссылке, которую я тебе дал? Или все время делать тебе Copy+Paste ???

                              Я смотрел...


                              Цитата dron-s @
                              такое чувство, что BIG-VL не имеет не малейшего представления что к чему

                              Если честно то да не пойму что к чему!!! :wall:

                              Добавлено
                              Цитата dron-s @
                              и что, это тоже не работает?

                              Не могу сказать, не проверил ещё!!! Ща проверю и скажу!!! :unsure:

                              Добавлено
                              Когда подключил модуль то сказал он ошибка...

                              [Ошибка] myword.pas(46): Undeclared identifier: 'FindAndInsert'

                              в строке
                              ExpandedWrap disabled
                                FindAndInsert := Word.Selection.Find.Execute(Replace := wdReplaceAll);
                                Цитата BIG-VL @
                                Когда подключил модуль то сказал он ошибка...

                                [Ошибка] myword.pas(46): Undeclared identifier: 'FindAndInsert'

                                в строке
                                FindAndInsert := Word.Selection.Find.Execute(Replace := wdReplaceAll);

                                ну дык всё правильно... переправь модуль, а вернее функцию FindAndReplace
                                ExpandedWrap disabled
                                  function FindAndReplace(FindText, ReplacementText:string):boolean;
                                  const
                                     wdReplaceAll=2;
                                  begin
                                    Word.Selection.Find.Text := FindText;
                                    Word.Selection.Find.Replecement.Text := ReplacementText;
                                    FindAndReplace := Word.Selection.Find.Execute(Replace := wdReplaceAll);
                                  end;
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0719 ]   [ 16 queries used ]   [ Generated: 30.07.25, 20:29 GMT ]