 |
Вітаю Вас, Гість · RSS |
 |
В окремий документ перекопіювати всі слова з буквою я.
| |
Varkan |
Дата: Чт, 14.01.2010, 13:57 | Повідомлення № 1 |
Викладач ВУЗу
Повідомлень: 425
| в текстовому редакторі WORD виконати наступне завдання: Дано текстовий документ з нього в окремий документ перекопіювати всі слова з буквою я (це потрібно автоматизувати) .
|
|
| |
sgrecords |
Дата: Чт, 14.01.2010, 16:14 | Повідомлення № 2 |
Активний учасник
Повідомлень: 612
| Написал макрос, который можно вставить в общий шаблон Word и назначить комбинацию клавиш Файл из которого копируются слова должен называться Text.doc. Созданый файл будет сохранен на рабочем столе Privat Sub 'создание документа для перемещения слов Documents.Add DocumentType:=wdNewBlankDocument ActiveDocument.SaveAs FileName:="1.doc", FileFormat:=wdFormatDocument, _ LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _ :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _ SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _ False 'Ищем и копируем слово з буквою Я, например Янукович NextWord: Windows("Text.doc").Activate Selection.Find.ClearFormatting With Selection.Find .Text = "я" .Wrap = wdFindContinue End With Selection.Find.Execute Selection.MoveLeft Unit:=wdWord, Count:=1 Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Copy Selection.MoveRight Unit:=wdCharacter, Count:=1 'Вставляем слово в документ Windows("1.doc").Activate Selection.PasteAndFormat (wdPasteDefault) Selection.TypeParagraph End Sub Обыскался как опросить в VBA дошел ли поиск до конца документа, не нашел пока. Можно через цикл, но он будет бесконечный, (прервать Ctrl+Break) Надеюсь понятно куда добавить for-next А можно просто повторять макрос комбинацией клавиш.
Відредаговано: sgrecords - Чт, 14.01.2010, 22:32 |
|
| |
Bandalak |
Дата: Чт, 14.01.2010, 22:36 | Повідомлення № 3 |
Лідер форуму
Повідомлень: 6403
| Quote (sgrecords) Дано текстовий документ з нього в окремий документ перекопіювати всі слова з буквою я (це потрібно автоматизувати) . Думаю, що потрібно використати у тілі макрокоманди таки дії: пошук, виділення слова, копіювання, перехід на новий документ, вставка, повернення назад. Далі макрокоманду необхідно відредагувати у VisualBasic, де врахувати, що у одному слові може бути декілька літер "я". А можна і з самого початку написати таку макрокоманду у VisualBasic.
|
|
| |
Bandalak |
Дата: Чт, 14.01.2010, 22:40 | Повідомлення № 4 |
Лідер форуму
Повідомлень: 6403
| Quote (sgrecords) With Selection.Find .Text = "я" А як Ви врахували велику літеру "Я"? Quote (sgrecords) Обыскался как опросить в VBA дошел ли поиск до конца документа, не нашел пока. Можно через цикл, но он будет бесконечный, (прервать Ctrl+Break) Надеюсь понятно куда добавить for-next А якщо не for-next, а while? Робити пошук до тих пір, поки не досягнемо символа кінця документа, або знову першого шуканого символа.
|
|
| |
Andrey123q |
Дата: Чт, 14.01.2010, 22:56 | Повідомлення № 5 |
Досвідчений учасник
Повідомлень: 1236
| дополнительная программка на Delphi как я понимаю тут не пойдет, которая открывает файл и делает все что нужно?
|
|
| |
Varkan |
Дата: Пт, 15.01.2010, 08:54 | Повідомлення № 6 |
Викладач ВУЗу
Повідомлень: 425
| Quote (Varkan) Дано текстовий документ з нього в окремий документ перекопіювати всі слова з буквою я (це потрібно автоматизувати) . Quote (sgrecords) Написал макрос, который можно вставить в общий шаблон Word и назначить комбинацию клавиш Quote (Andrey123q) дополнительная программка на Delphi как я понимаю тут не пойдет, которая открывает файл и делает все что нужно? Ці всі варіанти дуже хороші, дякую але!!! це завдання контрольної роботи для студента художньо-педагогічного факультету і не думаю, що вони там вивчають макроси, ВБА, Делфі... Розв'язок має бути засобами редактора
|
|
| |
sgrecords |
Дата: Пт, 15.01.2010, 09:01 | Повідомлення № 7 |
Активний учасник
Повідомлень: 612
| Quote (Bandalak) А як Ви врахували велику літеру "Я"? я її не враховував. Пошуку по барабану велика чи мала. Задача ж була на пошук всіх слів незважаючи на регістр. Quote (Bandalak) А якщо не for-next, а while? Робити пошук до тих пір, поки не досягнемо символа кінця документа, або знову першого шуканого символа. Неважливо яку конструкцію застосувати, важливо визначити кінець пошуку чи документу, щоб його зупинити, а то пошук починаеться спочатку і продовжується безкінечно. В класичних мовах програмування це вирішується простіше. А у ворді не можу визначити момент завершення пошуку. Можна по дескриптору вікна "Просмотр документа завершен", але знову ж треба шукать...
|
|
| |
Varkan |
Дата: Пт, 15.01.2010, 09:18 | Повідомлення № 8 |
Викладач ВУЗу
Повідомлень: 425
| АУ ви це читали????????????? Quote (Varkan) Ці всі варіанти дуже хороші, дякую але!!! це завдання контрольної роботи для студента художньо-педагогічного факультету і не думаю, що вони там вивчають макроси, ВБА, Делфі... Розв'язок має бути засобами редактора
|
|
| |
sgrecords |
Дата: Пт, 15.01.2010, 09:20 | Повідомлення № 9 |
Активний учасник
Повідомлень: 612
| Quote (Varkan) Розв'язок має бути засобами редактора Тю на вас. Навіщо в заданні звучить слово "автоматизувати". Це і є макроси, впевнений на 100%. А макроси можуть створювати і домогосподарки, не тільки художники-педагоги :), так що хай здає. Все ж переведу макрос на укрмову, як це робиться засобами ворда. 1 Натискаємо ctrl+f, вводимо літеру я + ентер 2 Активуємо документ (по заголовку вікна) 3 натискаємо ctrl + стрілка вліво 4 натискаємо shift+ctrl+стрілка вправо 5 ctrl+c (копіюємо) 6 ctrl+n (створюємо новий документ) 7 ctrl + v (вставляємо слово) 8 alt+tab (повертаємось в документ) 9 стрілка вправо (скидуємо виділення) 10 У вікні пошуку натискаємо "Дальше" goto 2 (в пункті 6 виконуємо alt+tab)Додано (15.01.2010, 09:20) ---------------------------------------------
Quote (Varkan) АУ ви це читали????????????? Я в цей час вам писав!!!
|
|
| |
Varkan |
Дата: Пт, 15.01.2010, 09:43 | Повідомлення № 10 |
Викладач ВУЗу
Повідомлень: 425
| Quote (sgrecords) Я в цей час вам писав!!! вибачте. сам так часом попадаю. ваш алгоритм і я пропонував (причому записати все це у макрос і назначити клавіші), але він може підходити якшо тексту сторінок 1-3. якшо є більше 100 сторінок тексту то поки виберуть всі слова то поламаються клавіши Quote (sgrecords) ctrl + v чи не можна це виконати за допомогою вбудованої функції???
Відредаговано: Varkan - Пт, 15.01.2010, 10:22 |
|
| |
sgrecords |
Дата: Пт, 15.01.2010, 10:43 | Повідомлення № 11 |
Активний учасник
Повідомлень: 612
| Quote (Varkan) чи не можна це виконати за допомогою вбудованої функції??? Шось я такого не пам"ятаю...
|
|
| |
Newbie |
Дата: Пт, 15.01.2010, 13:37 | Повідомлення № 12 |
Хелпер
Повідомлень: 1414
| думаю, що малось на увазі використання знаків підстановки в діалоговому вікні Пошук і заміна, наприклад щось таке: <[А-ґ]@?я*> - такий вираз знаходить і виділяє всі слова з "я", крім тих, які починаються з "я", "Я" <[Яя]*> - слова, які починаються на "Я" або "я" тобто одержимо спочатку виділені слова, що просто містять "я", скопіюємо їх в інший документ; потім виконаємо другий запит і скопіюємо решту. підозрюю, що якщо побавитись, то можна оптимізувати запити в один. якщо панове мають час та натхнення - можна почитати на http://informatika.zn.uz/2875 як це робиться 
|
|
| |
© Форум інформатиків України, 2007-2023.  |