Сб, 23.09.2017, 23:01
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 1 з 11
Модератор форуму: Ktara, НІКОЛЯ, Bandalak, volevikt 
Форум інформатиків » АРХІВ » Архів форуму » В окремий документ перекопіювати всі слова з буквою я. (Завдання WORD)
В окремий документ перекопіювати всі слова з буквою я.
Varkan Дата: Чт, 14.01.2010, 14:57 | Повідомлення № 1
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
в текстовому редакторі WORD виконати наступне завдання:
Дано текстовий документ з нього в окремий документ перекопіювати всі слова з буквою я (це потрібно автоматизувати) .
sgrecords Дата: Чт, 14.01.2010, 17:14 | Повідомлення № 2
Активний учасник
Повідомлень: 604
Нагороди: 2
Рейтинг: 59
Написал макрос, который можно вставить в общий шаблон 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, 23:32
Bandalak Дата: Чт, 14.01.2010, 23:36 | Повідомлення № 3
Лідер форуму
Повідомлень: 5392
Нагороди: 37
Рейтинг: 247
Quote (sgrecords)
Дано текстовий документ з нього в окремий документ перекопіювати всі слова з буквою я (це потрібно автоматизувати) .

Думаю, що потрібно використати у тілі макрокоманди таки дії: пошук, виділення слова, копіювання, перехід на новий документ, вставка, повернення назад.
Далі макрокоманду необхідно відредагувати у VisualBasic, де врахувати, що у одному слові може бути декілька літер "я".
А можна і з самого початку написати таку макрокоманду у VisualBasic.
Bandalak Дата: Чт, 14.01.2010, 23:40 | Повідомлення № 4
Лідер форуму
Повідомлень: 5392
Нагороди: 37
Рейтинг: 247
Quote (sgrecords)
With Selection.Find
.Text = "я"

А як Ви врахували велику літеру "Я"?

Quote (sgrecords)
Обыскался как опросить в VBA дошел ли поиск до конца документа, не нашел пока. Можно через цикл, но он будет бесконечный, (прервать Ctrl+Break) Надеюсь понятно куда добавить for-next

А якщо не for-next, а while?
Робити пошук до тих пір, поки не досягнемо символа кінця документа, або знову першого шуканого символа.
Andrey123q Дата: Чт, 14.01.2010, 23:56 | Повідомлення № 5
Досвідчений учасник
Повідомлень: 1236
Нагороди: 3
Рейтинг: 84
дополнительная программка на Delphi как я понимаю тут не пойдет, которая открывает файл и делает все что нужно?
Varkan Дата: Пт, 15.01.2010, 09:54 | Повідомлення № 6
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (Varkan)
Дано текстовий документ з нього в окремий документ перекопіювати всі слова з буквою я (це потрібно автоматизувати) .

Quote (sgrecords)
Написал макрос, который можно вставить в общий шаблон Word и назначить комбинацию клавиш

Quote (Andrey123q)
дополнительная программка на Delphi как я понимаю тут не пойдет, которая открывает файл и делает все что нужно?

Ці всі варіанти дуже хороші, дякую але!!!
це завдання контрольної роботи для студента художньо-педагогічного факультету і не думаю, що вони там вивчають макроси, ВБА, Делфі...
Розв'язок має бути засобами редактора

sgrecords Дата: Пт, 15.01.2010, 10:01 | Повідомлення № 7
Активний учасник
Повідомлень: 604
Нагороди: 2
Рейтинг: 59
Quote (Bandalak)
А як Ви врахували велику літеру "Я"?

я її не враховував. Пошуку по барабану велика чи мала. Задача ж була на пошук всіх слів незважаючи на регістр.
Quote (Bandalak)
А якщо не for-next, а while? Робити пошук до тих пір, поки не досягнемо символа кінця документа, або знову першого шуканого символа.

Неважливо яку конструкцію застосувати, важливо визначити кінець пошуку чи документу, щоб його зупинити, а то пошук починаеться спочатку і продовжується безкінечно. В класичних мовах програмування це вирішується простіше. А у ворді не можу визначити момент завершення пошуку. Можна по дескриптору вікна "Просмотр документа завершен", але знову ж треба шукать...
Varkan Дата: Пт, 15.01.2010, 10:18 | Повідомлення № 8
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
АУ ви це читали?????????????

Quote (Varkan)
Ці всі варіанти дуже хороші, дякую але!!!
це завдання контрольної роботи для студента художньо-педагогічного факультету і не думаю, що вони там вивчають макроси, ВБА, Делфі...
Розв'язок має бути засобами редактора
sgrecords Дата: Пт, 15.01.2010, 10:20 | Повідомлення № 9
Активний учасник
Повідомлень: 604
Нагороди: 2
Рейтинг: 59
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, 10:43 | Повідомлення № 10
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (sgrecords)
Я в цей час вам писав!!!

вибачте. сам так часом попадаю.

ваш алгоритм і я пропонував (причому записати все це у макрос і назначити клавіші), але він може підходити якшо тексту сторінок 1-3.
якшо є більше 100 сторінок тексту то поки виберуть всі слова то поламаються клавіши

Quote (sgrecords)
ctrl+c
Quote (sgrecords)
ctrl + v

чи не можна це виконати за допомогою вбудованої функції???


Відредаговано: Varkan - Пт, 15.01.2010, 11:22
sgrecords Дата: Пт, 15.01.2010, 11:43 | Повідомлення № 11
Активний учасник
Повідомлень: 604
Нагороди: 2
Рейтинг: 59
Quote (Varkan)
чи не можна це виконати за допомогою вбудованої функції???

Шось я такого не пам"ятаю...
Newbie Дата: Пт, 15.01.2010, 14:37 | Повідомлення № 12
Хелпер
Повідомлень: 1412
Нагороди: 9
Рейтинг: 91
думаю, що малось на увазі використання знаків підстановки в діалоговому вікні Пошук і заміна, наприклад щось таке:
<[А-ґ]@?я*> - такий вираз знаходить і виділяє всі слова з "я", крім тих, які починаються з "я", "Я"
<[Яя]*> - слова, які починаються на "Я" або "я"
тобто одержимо спочатку виділені слова, що просто містять "я", скопіюємо їх в інший документ; потім виконаємо другий запит і скопіюємо решту.
підозрюю, що якщо побавитись, то можна оптимізувати запити в один.
якщо панове мають час та натхнення - можна почитати на http://informatika.zn.uz/2875 як це робиться

Прикріплення: 1938651.png(57Kb)
Форум інформатиків » АРХІВ » Архів форуму » В окремий документ перекопіювати всі слова з буквою я. (Завдання WORD)
Сторінка 1 з 11
Пошук:


© Форум інформатиків України, 2007-2017.