1

Тема: Как заменить каждое n-ное слово на другое слово?

Например каждое пятое слово (без учета знаков препинания), на слово корова?:)
Помогите пожалуйста.

2

Re: Как заменить каждое n-ное слово на другое слово?

+И как выделить первое предложение текста и увеличить в нем шрифт, и последнее предложение и уменьшить в нем шрифт?

3

Re: Как заменить каждое n-ное слово на другое слово?

Помогите пожалуйста, в программировании вообще ничего не понимаю, а лабы сдать надо. Я гуманитарий вообще, вот на компьютерных технологиях на 5м курсе такое выдали:)

4

Re: Как заменить каждое n-ное слово на другое слово?

Изменение каждого пятого слова:

Sub ChangeEveryFifthWord()
  Dim i As Long 'Счётчик слов
  Dim oWord As Range 'Текущее слово
  
  'Инициализация переменных
  Set oWord = ActiveDocument.Words.First
  i = 1
  'Перебираем все слова в документе, отсеивая знаки препинания и знаки абзацев.
  Do While i <= ActiveDocument.Words.Count
    
    While Trim(oWord.Text) Like "[.,!?""-]" Or oWord.Text = vbCr
      If oWord.End = ActiveDocument.Words.Last.End Then Exit Sub
      Set oWord = oWord.Next(wdWord)
    Wend
    
    'Если значение счётчика кратно пяти, то изменяем слово
    If i Mod 5 = 0 Then
      oWord.MoveEndWhile " ", wdBackward 'Убираем пробел в конце слова
      oWord.Text = "корова" 'Меняем текст
      oWord.HighlightColorIndex = wdYellow 'Подсвечиваем жёлтым
    End If
    
    i = i + 1
    Set oWord = oWord.Next(wdWord)
    If oWord.End = ActiveDocument.Words.Last.End Then Exit Sub
    DoEvents
    
  Loop
End Sub

Шрифт первого предложения увеличен на 1, последнего — уменьшен на 1:

Sub IncreaseDecrease()
  With ActiveDocument.Paragraphs
    .First.Range.Font.Size = .First.Range.Font.Size + 1
    .Last.Range.Font.Size = .Last.Range.Font.Size - 1
  End With
End Sub

Зачем это нужно гуманитариям, я ума не приложу.

Лучше день потерять — потом за пять минут долететь!

5

Re: Как заменить каждое n-ное слово на другое слово?

Спасибо, с коровами все супер работает, а с увеличением/уменьшением не очень, увеличивает и уменьшает по абзацам, а не предложениям

6

Re: Как заменить каждое n-ное слово на другое слово?

Виноват, для предложений несколько иначе

Sub IncreaseDecrease()
  With ActiveDocument.Sentences
    .First.Font.Size = .First.Range.Font.Size + 1
    .Last.Font.Size = .Last.Range.Font.Size - 1
  End With
End Sub
Лучше день потерять — потом за пять минут долететь!

7

Re: Как заменить каждое n-ное слово на другое слово?

Вот теперь работает:) Только Range надо подтереть:)
Эх спасибо вам огромное:)

Я тут пару ночей посидел над VB, синтаксис более менее освоил (анимацию даже бодрую замутил, пушка стреляет по цели, с выбором силы и направления ветра, кол-во пороху, и угла установки орудия:))

Но по нему хотя бы материалов в инете завались, а в VBA все по другому, и информации в разы меньше, без вас бы пропал:) Теперь ВБА в экселе на очереди))

8

Re: Как заменить каждое n-ное слово на другое слово?

По VBA много информации содержится в книгах, в частности для Word это ставшая уже библиографической редкостью книга "Word 2000. Руководство разработчика".
Поскольку в России я не мог найти, пришлось заказывать в одном книжном на Украине. Теперь жалею, можно было бы заказать несколько экземпляров и дарить особо активным на форуме  big_smile

По Экселю и программированию в нем информации в разы больше, но опять же - в книгах.

9

Re: Как заменить каждое n-ное слово на другое слово?

Антон, у меня есть эта книга в электронном варианте.. Я себе ее распечатал и практически не расстаюсь с ней.
Если нужно, могу куда-нибудь ее скинуть..

10

Re: Как заменить каждое n-ное слово на другое слово?

Андрей, поскольку я сторонник легальности, то лучше всего книгу разместить на каком-нибудь сервере (например, zalil.ru), а здесь дать лишь ссылку на нее.

11

Re: Как заменить каждое n-ное слово на другое слово?

Я тоже сторонник того же.. Получается, что лучше передать нуждающемуся, когда попросит, а не выкладывать просто так, тем более, что где-то в инете она все равно есть, ведь я же ее всего месяца полтора скачал.. А вот чтобы знали, что искать, то можно добавить и автора:
Гай Харт-Девис. Word 2000. Руководство разработчика (перевод с английского)
издательство - "Ирина", BHV, Киев, 2000.

12

Re: Как заменить каждое n-ное слово на другое слово?

Господа! Низкий поклон за информацию о книге.

13

Re: Как заменить каждое n-ное слово на другое слово?

Ну, раз пошла такая пьянка:) Вот список книг, которые у меня есть в издательском или электронном виде (сюда не входят те книги, что указаны на сайте - они должны быть у каждого, посещающего этот форум, по умолчанию):

1) Гарнаев А.Ю. Самоучитель VBA – 2-e издание, перераб. и доп. – Спб.: БХВ-Петербург, 2007. – 560 с.: ил.

2) Кузьменко В.Г. VBA 2002. Москва. ЗАО "Издательство БИНОМ", 2002

3) Кузьменко В.Г. Программирование на VBA 2002. – М.: ООО "Бином-Пресс", 2003 г. – 880 с.

4) К.Гетц, М. Джилберт. Программирование в Microsoft Office. Перевод с ангийского. Издательство "Ирина", BHV, Киев (Книга написана специалистами, которые имеют большой опыт работы с Visual Basic for Application. С ее помощью вы найдете решения задач, связанных с обработкой строк, числовых данных и дат, а также с работой в сети. Подробно рассмотрены такие важные вопросы, как обработка ошибок и операции с файлами. Отдельная глава посвящена созданию мультимедийный приложений.

5) Гюнтер Штайнер. Visual Basic 6.0 для приложений – М.: Лаборатория Базовых Знаний, 2000. 832 с. Справочник. (В книге приведены справочные сведения по программированию на языке Visual Basic 6.0 для приложений (VBA 6.0) в рамках Microsoft Office 2000. Подробно описаны объекты, их свойства и методы, операторы, функции, типы данных. Отдельная глава посвящена проектированию меню, панелей и форм. Описание иллюстрировано примерами. Сведения структуированы по приложениям, входящим в состав Microsoft Office 2000. Word, Exel, PowerPoint, Acces. Предметный указатель позволяет быстро найти необходимую информацию)

6) Штайнер. Г. VBA 6.3 – М.: Лаборатория Базовых Знаний, 2002. – 784 с. Справочник

7) Биллиг В.А. Средства разработки VBA-программиста. Офисное программирование. Том 1. – М.: Издательско-торговый дом "Русская редакция", 2001 – 480 с.: ил.

8) Биллиг В.А. VBA в Office 2000. Офисное программирование. – М.: Издательско-торговый дом "Русская Редакция", 1999. – 480 с.: ил. (вроде есть сайты в инете этого автора)

9) Слепцова Л.Д. Программирование на VBA. Самоучитель. : – М: Издательский дом "Вильямс", 2004 – 384 с

10) Слепцова Л.Д. Программирование на VBA в Microsoft Office 2007. Самоучитель. : – М: ООО "И.Д. Вильямс", 2007– 432 с

11) О.А. Бияков. Обработка ошибок в программах на VBA. Методические указания  по курсу "Информатика и программирование" для студентов специальности 351400 "Прикладная информатика в экономике". Кемерово 2006

12) Демидова Л.А., Пылкин А.Н. Программирование в среде Visual Basic for Application: Практикум. – V.: Горячая линия – Телеком, 2004. – 175 с.

13) Камминг, Стив. VBA для "чайников", 3-е издание.: Пер. с англ. – М.: Издательский дом "Вильямс", 2001 – 448 с.

14) О.Н. Евсеева. Объектно-ориентированный подход в программировании. Программирование и реализация приложений в среде Microsoft Office. Учебное пособие. Ульяновск. 2000

15) Хорев В.Д. Самоучитель программирования на VBA в Microsoft Office/. – К.: Юниор, 2001. –320 с.

16) Microsoft Word: Visual Basic for Application. Copyright 2002-2007 by Susan Doney Designs, 37 страниц

17) Useful Microsoft Word Techniques. Copyright 2002-2007 by Susan Doney Designs, 54 страницы

18) VB & VBA in a NutShell: The Language by Paul Lomax. Copiright 1998 O`Reilly & Associates, Inc

PS. Модераторам - Может быть создать отдельный раздел (тему), в котором бы велся список подобных книг и добавлялись другие, которых нет в списке???  Ведь чем больше книг под рукой, тем больше идей и взглядов разных авторов на одни и те же вопросы...

Отредактировано andrkar (26.04.2010 16:40:44)

14

Re: Как заменить каждое n-ное слово на другое слово?

Андрей, спасибо. Вывел список в отдельную тему: http://wordexpert.ru/forum/viewtopic.php?pid=1479#p1479