Newcomposers.ru

IT Мир
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Полезные макросы для word

dvorkin

Личный блог и сайт обо всем на свете

Макросы и функции в Word для быстрого форматирования.

Макросы в Word — это такая полезная штука, которую просто обязан знать каждый, кто много работает с текстами.

Предысторию написания данной статьи, а также ее полезность можно оценить по видеоролику.

Макросы — теория

Теперь немного теории. Как известно, в текстовом редакторе Word есть очень полезная функция «Найти и заменить« (вызывается через сочетание клавиш Ctrl+H или меню «Правка» -> «Заменить…» ), которой, к сожалению, пользуются не так часто. Но еще реже используют данную функцию в режиме «Подстановочные знаки« .

А между тем данное умение может принести неоценимую пользу. Свое знакомство с подстановочными знаками и их изучение можно начать со статьи Сергея Хозяинова (будет полезна для новичков).

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

Макросы — это такие полезные штуки, которые позволяют автоматизировать часто выполняемые операции (в случае примера на видео, это форматирование текста). О способах записи и создания макросов можно найти тысячи статей на просторах Интернета. Нас же будет интересовать вариант, при котором макрос записывается вручную во встроенном в Word редакторе Visual Basic . Суть использования макросов мною основана на принципе конструктора: макрос состоит из набора кирпичиков-функций, которые заранее прописаны и могут размещаться в любой требуемой последовательности. Каждая же из функций является действием, либо набором действий, она имеет свое уникальное имя. В макросе же надо лишь указать имя функции для ее вызова.

Макросы — практика

[spoiler show=»Мой список функций»]Function Tire()
‘заменяет дефис в начале абзаца на тире
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «^p- »
.Replacement.Text = «^p^= »
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Function
Function Tire2()
‘заменяет дефис окруженный пробелами на тире
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = » — »
.Replacement.Text = » ^= »
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Function
Function Defis()
‘заменяет тире в начале абзаца на дефис
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «^p^=»
.Replacement.Text = «^p-»
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Function
Function Prob()
‘заменяет множественные пробелы на одиночный
‘удаляет множественные и одиночные пробелы в начале абзаца
‘удаляет множественные и одиночные пробелы в конце абзаца
‘удаляет знаки абзаца идущие до текста в начале документа
‘и знаки абзаца идущие после текста в конце документа
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.MatchWildcards = False
.Execute «^w», , , , , 0, , , 0, » «, 2
.Execute «^p^w», , , , 0, , , , 0, «^p», 2
.Execute «^w^p», , , , 0, , , , 0, «^p», 2
End With
If ActiveDocument.Paragraphs.Count > 1 Then
Do While ActiveDocument.Paragraphs.Last.Range.Text = Chr(13) And _
ActiveDocument.Paragraphs.Count > 1
ActiveDocument.Paragraphs.Last.Range.Delete
Loop
End If
Selection.HomeKey wdStory
While Selection.Paragraphs.First.Range.Characters.Count = 1
Selection.Paragraphs.First.Range.Delete
Wend
End Function
Function Format()
‘весь текст делает 14 размером TimesNewRoman
‘с 1,5 интервалом и выравнивает его по ширине
ActiveDocument.Content.Font.Name = «Times New Roman»
ActiveDocument.Content.Font.Size = 14
ActiveDocument.Content.ParagraphFormat.LineSpacing = LinesToPoints(1.5)
ActiveDocument.Content.ParagraphFormat.Alignment = wdAlignParagraphJustify
Selection.HomeKey wdStory
End Function
Function Format2()
‘весь текст делает 11 размером Arial
‘с 1,5 интервалом и выравнивает его по ширине
ActiveDocument.Content.Font.Name = «Arial»
ActiveDocument.Content.Font.Size = 11
ActiveDocument.Content.ParagraphFormat.LineSpacing = LinesToPoints(1.5)
ActiveDocument.Content.ParagraphFormat.Alignment = wdAlignParagraphJustify
Selection.HomeKey wdStory
End Function
Function Zagol()
‘делает заголовок (первый абзац) документа жирным
‘и выравнивает его по центру
ActiveDocument.Paragraphs(1).Range.Select
Selection.Font.Bold = True
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.HomeKey wdStory
End Function
Function Symb()
‘Подсчитывает количество символов в документе
‘и выводит сообщение
spacecount = ActiveDocument.Content.ComputeStatistics(Statistic:=wdStatisticCharactersWithSpaces)
MsgBox «В тексте содержится символов (включая пробелы) — » & spacecount & » »
End Function
Function Krasn()
‘Делает красный шрифт у выделенного слова
Selection.Font.Color = wdColorRed
End Function
Function Intjyr()
‘Выделяет жирным все вопросы «И:»
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «(^0013^0013И:)(*)(^0013)»
.MatchWildcards = True
.Forward = True
.Replacement.Text = «123″
.Replacement.Font.Bold = True
.Execute Replace:=wdReplaceAll
End With
End Function
Function One_to_Two()
‘Разделяет одно предложение на два (перед выполнением курсор ставить после запятой)
Selection.TypeBackspace
Selection.TypeText Text:=».»
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.Range.Case = wdTitleSentence
End Function
Function Two_to_One()
‘Склеивает два предложения в одно (перед выполнением курсор ставить после точки)
Selection.TypeBackspace
Selection.TypeText Text:=»,»
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.Range.Case = wdTitleSentence
End Function
Function Nimerstr()
‘Вставляет нумерацию страниц справа вверху
Selection.Sections(1).Headers(1).PageNumbers.Add PageNumberAlignment:= _
wdAlignPageNumberRight, FirstPage:=True
End Function
Function MastifTime()
‘Находит и заменяет тайм-коды в обычном формате (чч:мм:сс), на формат
‘требуемый для Мастифа (чч-мм-сс)
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «(^0013)(([0-9]@:[0-9]@:[0-9]@))»
.MatchWildcards = True
.Forward = True
.Replacement.Text = «12»
.Execute Replace:=wdReplaceAll
End With
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «:([0-9]@):»
.MatchWildcards = True
.Forward = True
.Replacement.Text = «-1-»
.Execute Replace:=wdReplaceAll
End With
End Function
Function Troetoch()
‘Заменяет три точки идущие подряд на знак троеточия
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «…»
.Replacement.Text = «…»
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Function
Function Tehnik()
‘Ищет в тексте технические надписи в скобках
‘если они прописаны без точки, то перед закрывающей скобкой ставится точка,
‘если они написаны (случайно) не курсивом, то выделяются им
Dim MyCollection As New Collection
With MyCollection
.Add («Аплодисменты»)
.Add («Говорят одновременно»)
.Add («Дефект записи»)
.Add («Дефект звука»)
.Add («Смена кадра»)
.Add («Обрыв записи»)
.Add («Техническая съемка»)
.Add («Техническая реплика»)
.Add («Технический разговор»)
.Add («Конец просмотра видеоролика»)
.Add («Начало просмотра видеоролика»)
.Add («Просмотр видеоролика»)
.Add («Возобновление тайм-кода»)
.Add («Остановка тайм-кода»)
.Add («Смена тайм-кода»)
.Add («Смех»)
.Add («Смеется»)
.Add («Кашель»)
.Add («Кашляет»)
End With
Dim i As Integer
For i = 1 To MyCollection.Count
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «((» & MyCollection.Item(i) & «))»
.MatchWildcards = True
.Forward = True
.Replacement.Text = «(1.)»
.Replacement.Font.Italic = True
.Execute Replace:=wdReplaceAll
End With
ActiveDocument.Content.Find.ClearFormatting
ActiveDocument.Content.Find.Replacement.ClearFormatting
With ActiveDocument.Content.Find
.Text = «((» & MyCollection.Item(i) & «.))»
.MatchWildcards = True
.Forward = True
.Replacement.Text = «(1)»
.Replacement.Font.Italic = True
.Execute Replace:=wdReplaceAll
End With
Next i
End Function
Sub Zamena()
‘ Комплекс последовательных функций при форматировании работ всех видов кроме Первого канала.
Prob
Tire2
Tire
Troetoch
Nimerstr
Tehnik
Symb
End Function
Sub Zamena2()
‘ Комплекс последовательных функций при форматировании работ Первого канала.
Prob
Defis
Tire2
Troetoch
Nimerstr
Tehnik
Symb
End Function
Sub ФОРМАТ()
Format
Prob
Tire2
Tire
Troetoch
Intjyr
Tehnik
Nimerstr
Zagol
Symb
End Sub
Sub МАСТИФ()
Format2
Prob
Intjyr
Tehnik
MastifTime
Nimerstr
Zagol
Symb
End Sub[/spoiler]

Читать еще:  Как правильно оформлять документы в word

Прописав это и сохранив в шаблоне «Normal.dot« можно получить доступ к этим макросам из любого документа. Вызывается окно выбора макросов горячей клавишей Alt+F8 .

Я предпочитаю использовать кнопки на панели инструментов. Поместить на нее кнопку и привязать к ней макрос очень легко. Об этом доступно написано в данной статье.

Данная статья затронула обширную тему, которая, прежде всего, нацелена на понимание и самостоятельное изучение вопроса. Поэтому более подробно расписывать не стал. Но всегда можно задать вопросы в комментариях.

Что такое макрос в ворде и как им пользоваться?

Приветствую на Fast-Wolker.ru!! В сегодняшнем выпуске продолжим знакомство с созданием макросов уже в приложении Microsoft Office Word. Все знакомы с ним; многим приходится набирать документы в этой программе. Документы чаще всего имеют одну и ту же структуру — мы берем шаблон правим его так как нам надо в одних и тех же местах — меняем даты, имена, форматируем текст.

То есть мы каждый раз делаем одни и те же операции с текстом, и чтобы их не делать каждый раз — можно заставить компьютер совершать их автоматически. Для этого в МS Word можно применять макрокоманды (или макросы) которые вы самостоятельно записываете в виде программы на языке VBA, который встроен в Word.

Что такое включенные макросы в Ворд?

А сейчас разберемся подробно, что за «макросы», как их включать. Начнем изучение на примере Office Word 2007, так как для многих он по прежнему остается самым привычным пакетом. Включать макросы нужно через меню «Файл» -«Параметры Word».

Дело в том, что настройки макросов в программе по умолчанию выключены, либо заданы такие настройки безопасности, что работать с полноценно с макрокомандами Вы не сможете. Когда Вы создаете макросы, Вы по сути становитесь программистом. Можно не только самому их писать, но и находить уже готовые. Среда VBA позволяет работать не только в пределах MS OFFICE. Можно создавать полноценные программы, которые получают доступ системным файлам на компьютере, можно нанести вред. Этим пользуются злоумышленники.

Включаем первую настройку на ленте. Она сделает видимой вкладку «Разработчик» и позволит работать с макрокомандами и запускать редактор VBA:

Следующая настройка отвечает за безопасность. Здесь же, переходим в «Центр управления безопасностью»..

…»Парамеры центра» отвечает за запуск наших будущих программ. Вы можете настроить так как нужно вам. Настройка «Доверять доступ к объектной модели VBA» позволит пользоваться уже готовыми проектами VBA, например скачанными из Интернет.

Сторонние макрокоманды и проекты VBA перед запуском всегда проверяйте на вирусы!

Стабильный MS Office 2007 морально устарел и поддержка его прекращена. Нужно уметь включать режим разработчика и в поздних версиях. Они более функциональны и для серьезной работы лучше использовать их. В Word 2016 включаем вкладку «Разработчик». Для этого так же в меню «Файл» переходим в «Параметры» и затем «Настройки Ленты»:

Не забываем сделать настройки безопасности так как делали до этого. Теперь, когда все настройки сделаны можно работать далее.

Что такое макросы в Ворде и как с ними работать?

По факту вы просто включаете запись ваших действий с текстом. Все выполняемые Вами действия записываются. В нужный момент вы останавливаете запись и сохраняете макрос, а когда это необходимо — снова запускаете. Таким образом, вам на первых этапах не нужно знать язык программирования, чтобы справится с простой задачей.

Но Вы получаете возможность изучать язык, если вас это дело увлечет. Создание макросов — это введение в программирование. VBA позволяет создавать для себя мощные инструменты при работе с текстовыми и табличными документами для решения многих задач в привычном виде . Тем, кто после прочтения статьи заинтересуется и захочет начать изучать язык VBA самостоятельно в помощь книга.

В качестве примера расскажу об одной такой полезной программе для Word. Иногда появляется желание распечатать полезную книгу на принтере, потому что не все любят читать с экрана. Это может быть большая инструкция, или же полноценное художественное произведение в виде документа Ворд.

Чтобы понравившийся документ после распечатывания стал полноценной привычной брошюрой — нужен макрос. А точнее написанный в VBA программный код, он вам и позволит распечатать ваш документ в виде брошюры, в которой будет правильное расположение текста и нумерация страниц. Эту программу для ознакомления качаем тут. Вам останется распечатать и сшить брошюру и вот у вас книга готова

Но чаще всего мы используем макросы на работе при составлении документов. Нужно форматировать текст, менять его размер, менять даты, имена на другие. Это ответственно и занимает время. И здесь наши знания могут очень пригодится. Для начала покажу демонстрационный пример — как работает макрос. У нас есть шаблон договора, который нужно подготовить для заполнения. Задача: открыть документ, убрать ненужные нам элементы из текста автоматически:

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

Указываем имя нашего макроса (без пробелов), доступ делаю из шаблона Normal.doth. Такой выбор позволит запускать выполнение нашей макрокоманды из любого документа Word. Назначать макрос можно кнопке на панели инструментов или вызвать нажатием сочетания определенный клавиш, но мы этого делать пока не будем. Просто нажмем на «OK» и начнется запись наших действий. Предлагаю посмотреть на видео, что получилось, это будет нагляднее.

Мы сделали самую простую операцию — замену текста во всем документе. Но, поизучав язык можно пойти и далее — отформатировать текст, сделать форму, в которой указываются все необходимые данные договора (даты, номер, ФИО директора, должности, наименование организации, реквизиты и т .д.). При выполнении макроса все эти данные заполнялись бы автоматически после указания в форме в нужных местах. По опыту знаю ошибок будет меньше при таком заполнении и времени уходит меньше.

Читать еще:  Как включить редактирование в excel

Что такое макрос в ворде 2007? Формула из Excel таблицы

Многие интересуются — как вставить формулы Excel в таблицу Word? Excel хорош при вычислениях но не удобен для работы с текстом, а таблицы Word не так привычны после работы с Excel. Туда нельзя вставить формулы как в Excel, но можно вставлять таблицу Excel путем копирования или создания таблицы прямо в документе Word. Для этого переходим в меню «Вставка»:

Далее, «рисуем» таблицу так, как мы делаем это в Excel:

Создавать Excel таблицу в Word с помощью макроса вышеописанным способом не получится — нужны дополнительные усилия. А что касается обычной Word таблицы — можно записывать макросы в случае создания сложных макетов таблиц.

Можно попробовать записать создание таблицы в макрос любым из этих способов и посмотреть что получится. Лично я таблицы копирую прямо из Excel, а макросы записываю в Office 2016 — там мне удобнее работать со стилями и оформлением. Удачи в освоении программы!

Макросы в Microsoft Word

Нередко простановка HTML тегов в статье занимает почти столько же времени, сколько ее написание. Особенно часто такая проблема возникает со статьями со сложной версткой, включающей множество заголовков, списков, цитат и стилей.

Заметно облегчить работу по подготовке текстов к публикации на web-сайте помогут макросы Word, которые могут автоматизировать любую задачу. Для написания такого макроса требуется знание языка программирования Visual Basic for Applications (VBA), встроенного не только в линейку программных пакетов от MicroSoft, но и многие другие приложения. Однако, благодаря тому, что VBA представляет собой упрощенную версию Visual Basic, начать писать простейшие скрипты может любой пользователь.

Кроме того, упростить задачу по написанию VBA макроса поможет возможность записи всех действий пользователя, которые автоматически преобразуются в программный код. Таким образом, чтобы создать простейший макрос, достаточно:

    выбрать пункт меню Вид –> Макросы –> Запись макроса;

дать ему любое имя;

  • выполнить необходимые действия, которые вы хотите автоматизировать;
  • остановить запись (Вид –> Макросы –>Остановить запись).
  • Кликнув по пункту меню Вид –> Макросы –> Запись макроса, вы откроете окно со список всех имеющихся у вас макросов и сможете запустить их, отредактировать или удалить.

    Расстановка тегов абзаца

    в Word при помощи VBA макроса

    Предварительная простановка тегов

    в тексте перед его размещением требуется при работе со многими CMS. Далеко не все встроенные в web-движки редакторы могут автоматически опознать абзацы в статье и автоматически вставить туда тексты. Кроме того, нередко разбивку текста HTML-тегами требуют и от копирайтеров, чтобы размещение статьи занимало у заказчика как можно меньше времени.

    Самый простой способ автоматизировать вставку HTML-тега в Word – это использование опции автозамены (окошко «Найти и заменить»), вызываемой сочетанием клавиш Ctrl+H.

    Вставляем в строку «Найти» сочетание ^p, а в строку «Заменить на»

    и жмем на кнопку «Заменить все». Word автоматически проставит необходимые HTML-теги в тексте.

    Чтобы перевести данное действие в макрос, запустим его запись перед выполнением всех действий.

    1. Включаем запись макроса.
    2. Выполняем замену абзацев на HTML-теги в тексте при помощи опции «Заменить все».
    3. Останавливаем запись.

    Теперь, чтобы проставить тег

    в статье, вам будет достаточно нажать единственную кнопку запуска макроса.

    Готовый код (помимо простановки тегов, он изменяет шрифт текста на Times New Roman и устанавливает размер 11):

    Sub P()



    Selection.WholeStory
    Selection.Font.Name=»TimesNewRoman»
    Selection.Font.Size=11
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    WithSelection.Find
    .Text=»^p»
    .Replacement.Text=»

    »
    .Forward=True
    .Wrap=wdFindAsk
    .Format=False
    .MatchCase=False
    .MatchWholeWord=False
    .MatchWildcards=False
    .MatchSoundsLike=False
    .MatchAllWordForms=False
    EndWith
    Selection.Find.ExecuteReplace:=wdReplaceAll
    Selection.HomeKeyUnit:=wdStory
    Selection.TypeTextText:=»

    »
    Application.Browser.Next
    Selection.EndKeyUnit:=wdStory
    Selection.TypeBackspace
    Selection.TypeBackspace
    Selection.TypeBackspace
    Selection.TypeBackspace
    End Sub

    Учтите, что если в конце вашего текста есть много лишних абзацев, то данный VBA скрипт обязательно заменит их на HTML-теги, поэтому обязательно проверяйте то, как выглядит конец статьи, перед ее непосредственной публикацией на сайте.

    Как видите, код интуитивно понятный, и многие команды VBA имеют говорящее название, указывающее на их функцию:

    • Selection.Find.Replacement.ClearFormatting – заменить в выбранном тексте,
    • .Text – текст, который нужно найти;
    • .Replacement.Text – текст для замены.

    Команда Selection.TypeBackspace обозначение удаление одного символа, стоящего впереди курсора. Она необходима, так как в случае выполнения замены абзацев на HTML-теги

    в конце всегда будет находиться лишний открывающий тег

    Продолжим писать наш макрос для «Ворда». Пусть он обрамляет тегами или или текст, выделенный жирным.

    Сделать это при помощи автозамены можно так.

    В поле «Найти» вставляем текст ( ). В пункте «Формат» выбираем Шрифт –> Полужирный. Ставим галочку в пункте «Подстановочные знаки». В поле «Заменить на» пишем 1. Нажимаем «Заменить все».

    У такой опции есть один недостаток: программа расставит обрамляющие HTML-теги не возле вокруг всего «куска» жирного текста, а вокруг каждого слова, следовательно, итоговый код будет очень грязный.

    Чтобы исправить эту ошибку, просто заменим

    Итоговый код (на примере замены на

    Sub B()



    Selection.Find.ClearFormatting
    Selection.Find.Font.Bold=True
    Selection.Find.Replacement.ClearFormatting
    WithSelection.Find
    .Text=»( )»
    1
    .Forward=True
    .Wrap=wdFindContinue
    .Format=True
    .MatchCase=False
    .MatchWholeWord=False
    .MatchAllWordForms=False
    .MatchSoundsLike=False
    .MatchWildcards=True
    EndWith
    Selection.Find.ExecuteReplace:=wdReplaceAll
    WithSelection.Find
    .Text = » »
    .Replacement.Text=»»
    .Forward=True
    .Wrap=wdFindContinue
    .Format=False
    .MatchCase=False
    .MatchWholeWord=False
    .MatchWildcards=False
    .MatchSoundsLike=False
    .MatchAllWordForms=False
    EndWith
    Selection.Find.ExecuteReplace:=wdReplaceAll
    End Sub

    Двойные кавычки в коде – это не опечатка, так как именно таким образом осуществляется экранирование кавычек в VBA-скриптах.

    Аналогичным способом вы можете дополнить макрос, например, обрамляя курсив тегами &#60i&#62&#60&#47i&#62 или &#60blockquote&#62&#60&#47blockquote&#62.

    Автоматическая простановка тегов заголовков

    Чтобы автоматически расставить заголовки H1, H2, H3, H4, H5 и H6, необходимо задать для них размер шрифта, отличный от остального текста. Например, если вы пишите статью 12 размером, можно выделять заголовки 16 размером. Тогда опция автозамены будет выглядеть так:

    • в поле «Найти» ( ),
    • в поле «Заменить на»

    Затем заменяем лишние «

    Макрос будет выглядеть следующим образом:

    Selection.Find.ClearFormatting
    Selection.Find.Font.Size=18
    Selection.Find.Replacement.ClearFormatting
    WithSelection.Find
    .Text=»( )»
    .Replacement.Text=»

    »
    .Replacement.Text=»»
    .Forward=True
    .Wrap=wdFindContinue
    .Format=True
    .MatchCase=False
    .MatchWholeWord=False
    .MatchWildcards=False
    .MatchSoundsLike=False
    .MatchAllWordForms=False
    EndWith
    Selection.Find.ExecuteReplace:=wdReplaceAll
    EndSub

    Используя приведенные примеры, вы можете создавать собственные макросы, форматируя текст, как вам удобно, что позволит ускорить работу по подготовке тексте перед размещением на сайте.

    Полезные макросы для word

    Документ содержит некоторые мои макросы, написанные и используемые для Word. Отдельные макросы могут попадаться и в других документах сайта, поищите по слову «макрос» с главной страницы. Как записать макрос в Word XP/2003 было в этой статье, в старших версиях офиса сделать это ничуть не сложнее.

    Количество страниц для каждого файла из списка

    Здравствуйте! Встретился со следующей проблемой: Для каждого файла *.doc из списка пытаюсь получить количество страниц (wdPropertyPages). Получаемые значения не соответствуют действительности! Список файлов представляет из себя строковый массив с именами файлов (path+name). Документы открываю в цикле: открываю, считываю количество страниц, закрываю документ. Возникает одна особенность: когда код прохожу ручками: все в норме: количество страниц адекватное, как только запускаю макрос — значения другие(меньше на порядок). Предполагал, что во время работы макроса количество страниц открываемого документа не успевает обновиться. Поставил задержку сначала в 1, потом 5 и т.д. секунд. Не помогло. Попробовал пройтись по абзацам, словам и в конце концов по символам документа, надеясь, что такая работа с документом позволит правильно подсчитать количество страниц. Не вышло. Если есть идеи, прошу поделиться!

    Особо не разбирался, но следующий несложный код на VBA, вставленный в документ Word, сработал, т.е. определил число страниц для каждого из кучи файлов, найденных на всём диске c:

    Правда, я тут открывал-закрывал файлы и смотрел число страниц через ActiveDocument. Офис был версии XP, в младших версиях VBA вообще глючный.

    Для простоты сам документ с макросом находился на другом диске ( d: ) — чтоб не пытался открывать сам себя.

    Также должно быть разрешено выполнение макросов (в Word XP/2003 — меню Сервис, Параметры, вкладка Безопасность, кнопка Зашита от макросов. выбрать уровень Средняя).

    Удаление пустых абзацев из документа Word

    Как-то мне понадобилось в большом объёме текста Word удалить лишние пустые абзацы, вставленные при копировании с Web-страницы после каждой строки. Но на попытку указать ^P (символ «Абзац») в поле «Найти» стандартного окна поиска и замены, Word XP/2003 выдал «^P нельзя использовать как специальный символ в поле Найти». Пришлось быстренько подключить макрос.

    Чтобы его «повесить» у себя, зайдите в меню Word Сервис, Макрос, Редактор Visual Basic, вставьте в модуль NewMacros текст процедуры, закройте Visual Basic, в верхнем меню Word зайдите Сервис, Настройка, в категории Макросы найдите макрос delVoidParagraphs и перетащите его иконку из этого окна на нужную панель инструментов Word. Потом правая кнопка на добавленном значке, выбрать Основной стиль, затем так же правой кнопкой можно выбрать или нарисовать значок. Процедура описана для офиса XP/2003, в 2007/10 как-то так же, но неудобней, как и всё в нём.

    У меня работает отлично, вот текст макроса:

    Избавиться от лишних символов разрыва строки, которые тоже часто появляются при копировании текста из интернета в Word, ещё проще: окно «Найти и заменить», в поле «Найти» указываем специальный символ ^l (крышечка и буква l — «эль» латинская малая), поле «Заменить на» оставляем пустым и нажимаем кнопку «Заменить всё».

    P.S. Можно было обойтись и без макроса: ^0013 <2;>в поле «Найти», ^p в поле «Заменить на», включён флажок «Подстановочные знаки». Но макрос удобней тем, что можно повесить на кнопку и нажимать в любой момент. Плюс работает над выделенным фрагментом.

    Пересохранение открытых файлов в другом формате

    Так как открыть сразу кучу документов в Word — не проблема (в стандартном окне открытия есть множественный выбор), проблема может быть только в обработке (лень много раз нажимать «Сохранить как. «). Для этого случая полезней вставить маленький макрос, который перебирает все открытые документы и сохраняет их в выбранном формате (в приведённом коде — формат RTF, понятно, как изменить для других). Мне понадобилось для пересохранения большого количества заметок pwi (формат заметки в мобильной Windows).

    Код макроса на VBA:

    Проверено в офисе 2003, в старших версиях, надеюсь, тоже сработает. для обычного формата .DOC , похоже, будет FileFormat:=wdFormatDOC , ну и тип .doc , конечно.

    Для перекодирования в формат «только текст в Юникоде» с разрывами строк LF (стиль Юникс, работает также в Андроиде) расширение изменилось на .txt , а команда ActiveDocument.SaveAs на

    Кстати, «по отдельности» файлы PWI можно открыть так:

    • Установить под Windows XP (выше — не уверен) стандартный Activesync 4.5 — средство синхронизации коммуникаторов на Windows Mobile с Microsoft Outlook.
    • Открыть из Word (не щелчком по документу, а через меню Файл — Открыть) документ в PWI 🙂 Если PWI не показывается, в списке форматов выбираем «Все файлы».

    В Word должны быть следующие конвертеры, чтобы работа с PWI шла нормально:

    Проверить, какие конвертеры есть в Вашем Word, можно таким кодом:

    Статьи из блога

    Евгений Родыгин прислал ссылку на страничку с макросами для редактора Word:

    Алексей Гончаров, автор страницы, предлагает использовать в своей деятельности следующие макросы:

    Выделение одного слова курсивом

    Выделение одного слова полужирным

    Удаление последнего символа в строке

    Объединение нескольких абзацев в один

    Выбор языка для проверки правописания

    Копирование фрагмента текста из одного документа в другой

  • Сравнение слов в двух документах
  • Вы можете помочь в развитии сайта, сделав пожертвование:

    Или помочь сайту популярной криптовалютой:

    BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

    ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

    LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

    DOGE Адрес: DENN2ncxBc6CcgY8SbcHGpAF87siBVq4tU

    BAT Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

    XRP Адрес: rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh Депозит Tag: 105314946

    USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

    Яндекс Деньги: 410013576807538

    Вебмани (R ещё работает): R140551758553 или Z216149053852

    А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов — получит плюсик в карму от нас 🙂 Благо Дарим, за любую помощь!

    Ссылка на основную публикацию
    Adblock
    detector