2015-08-22 1 views
-2

Содержание документа Слова выглядит следующим образом:Слово VBA: извлекая понравившиеся-предложения и размещение в конце документа

XXXXX XXXXXX XXXX 
XX XXXX XXXXX XXXXXXXXXXX 
XXXX XXXXXXXXXXXX XXXXXX (sky) 
XXXXXXX XXXXXXXXXXXXXXX X 
XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXX (sky) 
xxxxxxxxxxxxxxx xxxxxx xxxx 
XX (sky) 

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

XXXXX XXXXXX XXXX 
XX XXXX XXXXX XXXXXXXXXXX 
XXXXXXX XXXXXXXXXXXXXXX X 
xxxxxxxxxxxxxxx xxxxxx xxxx 
XXXX XXXXXXXXXXXX XXXXXX (sky) 
XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXX (sky) 
XX (sky) 

Как использовать VBA для достижения этого?

+2

Вы просите нас написать весь этот код или вы что-то застряли? В случае последнего, пожалуйста, [изменить], чтобы добавить этот код к вашему вопросу, если я боюсь, что это слишком широко. Мы не являемся службами написания кода. [Тур] и [помощь] объясняют, почему это так. – rene

ответ

0

Ops. Приносим извинения за это. Между тем спасибо за то, что редактирование макета было гораздо более правильным. Я все еще новичок на этом сайте, а также VBA. : p

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

  1. Используйте Selection.Find, чтобы найти первый «(Sky)» (. Форвард = True и .wrap = wdFindStop)
  2. Использование Selection.MoveUp и MoveDown, чтобы выделить всю строку
  3. Используйте Selection.Cut вырезать всю строку в буфер
  4. запустить Selection.Find во время цикла для следующего «(Небо)» (с помощью Selection.Find.Execute = True) и повторите шаги с 1 по 3, связываясь с Selection.Paste, чтобы вставить и объединить все предложения с (Sky)
  5. Затем создайте новый пункт в конце документа с использованием Selection.EndKey Unit: = wdStory и Selection.TypeParagraph
  6. Selection.Paste, чтобы вставить все обрезанные предложения
  7. Наконец, запустите код Selection.Find о заменяющие Sky Sky Sky 0 pp

Thew. Скучная. Надеюсь, поможет. Имейте хороший день все. :)

Смежные вопросы