Готовые макросы для word

готовые макросы word

Макрос для таблицы

Урок 60. Макрос для таблицы

Приходилось ли вам выполнять при форматировании документа несколько раз повторять одни и те же команды? Предположим, в документе 50 таблиц. И каждую надо привести в порядок. Повторяющиеся заголовки, выравнивание назначить, да мало ли чего ещё Дальше

Программы и макросы для создания и заполнения документов Word данными из Excel, таблица из Excel в Word, обработка файлов Word, подстановка данных из Excel в Word, вставить таблицу Excel в Word

  • Надстройка FillDocuments для MS Excel: общие сведения

    Предназначение программы: заполнение множества документов данными из Excel нажатием одной кнопки.
    Для работы программы требуется таблица Excel с данными для подстановки, и папка с шаблоном (шаблонами) документов.
    В качестве шаблонов можно использовать файлы Word и Excel.
    На выходе получаются заполненные файлы исходного…

  • Структура программы «Парсер сайтов»

    Надстройка Parser для Excel — простое и удобное решение для парсинга любых сайтов (интернет-магазинов, соцсетей, площадок объявлений) с выводом данных в таблицу Excel (формата XLS* или CSV), а также скачивания файлов.
    Особенность программы — очень гибкая настройка постобработки полученных данных (множество текстовых функций, всевозможные фильтры, перекодировки, работа с переменными,…

  • Таблица Excel с исходными данными для создания документов Word


    Макрос предназначен для программного создания документов Word на основе шаблона
    (без использования функции слияния в Word)

    В прикреплённом к статье архиве находятся 2 файла:

    шаблон договора в формате Microsoft Word (расширение .dot)

    файл Excel с макросом

    Настройки макроса задаются в коде:
    Const ИмяФайлаШаблона = «шаблон.dot»
    Const КоличествоОбрабатываемыхСтолбцов = 8…

  • Шаблон договора в Word, заполняемого макросом из Excel

    Программа предназначена для автоматизации формирования договоров комиссии и купли автотранспортного средства.
    В качестве исходных данных выступают:

    таблица Excel с реквизитами создаваемых документов
    папка с шаблонами договоров (в формате dot)

    В исходной таблице Excel занесены все необходимые исходные данные для заполнения бланков договоров, а также, при помощи пользовательских формул (UDF),…

  • Главное меню программы по работе с базой данных «Преподаватели»


    База данных «Преподаватели» предназначена для автоматизации работы администрации учебных заведений.

    Программа обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов.

    Эта база данных представляюет собой урезанную и немного изменённую версию программы АИСС СПК.

    Программа обеспечивает:

    Хранение полной…

  • АИСС "Абитуриент" - форма ввода данных абитуриента


    Программа АИСС «СПК» предназначена для автоматизации работы приемной комиссии колледжей и техникумов.

    АИСС обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов.

    Назначением программы является автоматизация труда работника приёмной комиссии учебного заведения.

    Программа обеспечивает:

    Хранение полной…

  • Function PasteOLEobject(ByVal filename$, ByRef TopLeftCell As Range, _
    Optional ByVal Width%, Optional ByVal Height%) As ShapeRange
    ‘ вставляет на лист объект OLE (из файла filename$)
    ‘ и размещает его в нужном месте, совмещая левый верхний угол с ячейкой TopLeftCell
    ‘ если указаны размеры Width% или Height% — они задаются вствляемому объекту
    On Error…

  • Вывод результатов перевода слова или предложения

    Программа предназначена для быстрого поиска перевода выделенного в документе Word слова (или фразы) с использованием специализированного медицинского словаря.
    Для поиска переводов используется словарь, расположенный на сайте заказчика.
    Программа подключается к словарю через веб-интерфейс сайта, авторизуется (логин и пароль хранятся в отдельном текстовом файле), после чего производит поиск…

  • Внешний вид программы для облегчения регистрации, приема на работу и увольнения иностранных рабочих


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

    Доверенность (doc)

    Заявление на…

  • Скриншот формы текстового редактора

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

  • Результат обработки файла Word - вывод данных по каждой странице


    Функция предназначена для вывода информации (статистики) по всем листам документа Word.
     
    В качестве параметра, функция получает ссылку на открытый документ Word.
    Результат работы функции представлен на скриншоте.
    Код функции WordDocumentProperties:
    Function DocumentProperties(ByRef doc As Object) As Variant
    On Error Resume Next: Err.Clear
    ‘ формирует статистику по документу…

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

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

Галерея для упрощённой вставки изображений из папки

Подробная информация изложена в заметке Александра Витера Вставка изображений из указанной папки для Word 2007.

«Методичка» — пакет макросов для форматирования документов Word

Пакет «Методичка» служит для преобразования неформатированного текста в документ MS Word, который удобно редактировать и использовать.

Пакет можно использовать для форматирования сканированных книг и документов, оформления курсовых и дипломов, правки «кривого» текста полученного из Интернета, вырезанного из книги в формате pdf и т. д.

Пакет распространяется за вознаграждение (цена — любая приемлемая для пользователя сумма). За информацией обращаться на страницу автора пакета.

Макрос пакетной замены от Александра Витера

Подробности в заметке Макрос пакетной замены от Александра Витера.

Шаблон «Массовое форматирование документов»

Шаблон «Массовое форматирование документов» позволяет произвести форматирование текста во многих документах одновременно (без открытия этих документов). Предназначен для редактора Word 2003.

Подробности читайте в заметке Массовое форматирование документов.

Шаблон «СЦЕНАРИЙ» (для автоматизации написания киносценариев)

Шаблон «Сценарий» предназначен для автоматизации написания киносценариев на основе предустановленного формата и заданных стилей. Работает только в редакторе Microsoft Word 2007.

Шаблон «Быстрое выделение»

Шаблон «QuickSelect» предназначен для быстрого доступа к командам выделения объектов (слов, предложений, строк, параграфов, экрана {видимой части документа}, разделов, страниц, всего документа).

Читайте подробности в заметке Шаблон “Быстрое выделение”.

Шаблон инструкции по оформлению текстовой документации

Для связи с автором Инструкции сообщаю его реквизиты:

Куличев Андрей Радиевич

kar@elesy.ru

icq 16330502

Шаблон для работы с закладками

Шаблон «BMTools» предназначен для быстрого доступа к закладкам текущего документа и содержит инструменты работы с закладками.

Подробности читайте в заметке Шаблон для работы с закладками и в файле Инструкция.doc в архиве.

Вы можете скачать и установить один из двух вариантов шаблона.

Первый вариант (список закладок отображается в меню после команд):

Второй вариант (список закладок отображается в самом верху меню):

Шаблон инструментов работы с последними файлами

Шаблон «RFTools» предназначен для отображения списка недавно открываемых файлов, вывода диалогового окна «Последние файлы», очистки списка последних файлов (очищается список, файлы не удаляются).

Подробнее можно прочитать в заметке Список недавно открываемых файлов.

Студворк — интернет-сервис помощи студентам

Всем привет! Задали нам с товарищем написать макрос, который проверяет текст на критерии преподавателя! Вот они: 1) шрифт Times New Roman; 2) размер шрифта 14; 3) меж строчный интервал одинарный; 4)Наличие Оглавления, Заключения, Списка литературы; 5)Размер текста не меньше 6 станиц;
7) Поиск работ преподавателя(в данном макросе подсчитывается кол-во упоминаний в док-те фамилии, 1 раз в тит. листе, ост. следоват. его работы)…..

Просидев на этом форуме не мало часов, т.к VBA не знаю (учу паскаль), и получив помощь от добрых людей, за что им большое спасибо, я получил пол макроса! Остальное доделал сам. Вот собственно текст макроса:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Sub Marco_from_IVT_42_10()
'Макрос выполнен группой ИВТ 42-10
'ЧГУ им. И.Н.Ульянова 2011г.
'Ответственные за макрос: Захаров Н., Частухин В.
'
 
Dim правильный_шрифт As Boolean
Dim правильный_размер As Boolean
Dim есть_оглавление As Boolean
Dim есть_заключение As Boolean
Dim есть_список_литературы As Boolean
Dim Счётчик As Long
 
 
'проверка шрифта
If ActiveDocument.Range.Font.Name = "Times New Roman" Then правильный_шрифт = True
 
'проверка размера шрифта
If Selection.Font.Size = "14" Then правильный_размер = True
 
 
'поиск оглавления
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "Оглавление"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
 
If Selection.Find.Found Then есть_оглавление = True
 
'поиск заключения
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "Заключение"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
 
If Selection.Find.Found Then есть_заключение = True
 
'поиск списка литературы
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "Список литературы"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
 
If Selection.Find.Found Then есть_список_литературы = True
 
'отчёт
If Not правильный_шрифт Then MsgBox "шрифт документа не соответствует Times New Roman"
If Not правильный_размер Then MsgBox "размер шрифта не соответствует 14"
If Not есть_оглавление Then MsgBox "В тексте нет заголовка 'оглавление'"
If Not есть_заключение Then MsgBox "В тексте нет заголовка 'Заключение'"
If Not есть_список_литературы Then MsgBox "В тексте нет списка литературы"
If ActiveWindow.Panes(1).Pages.Count < 6 Then MsgBox "В тексте меньше 6 страниц"
If Not ActiveDocument.Range.ParagraphFormat.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle Then
MsgBox "Текст не имеет одинарного интервала"
End If
 
'Поиск работ преподавателя
With ActiveDocument.Range.Find
    .Text = "Галкин"
    Do While .Execute = True
        Счётчик = Счётчик + 1
    Loop
End With
MsgBox (Счётчик & " раз(а) встречается фамилия Галкин")
 
 
End Sub

Помучившийся с этим макросом я решил, что быть может он кому нибудь поможет!
Спасибо за внимание!

285

В статье описаны скрипты WSH (Windows Script Host), способы их запуска, состав и функциональные возможности

169

Windows Script Host предоставляет пользователю такую полезность, как ws-файл, это файлы с расширением .

113

Всем привет, с вами автор блога scriptcoding.ru. Данная публикация рассматривает сохранение документа

126

Доброго времени суток всем читателям блога scriptcoding.ru. В данной статье, я опишу «

136

Приветствую всех читателей блога scriptcoding.ru. В этой статье мы рассмотрим, как сохранить документ

79

Приветствую всех читателей блога scriptcoding.ru. Цель данной публикации написать программный код для

68

Доброго времени суток всем подписчикам и читателям блога scriptcoding.ru. Продолжая тему «

141

Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы рассмотрим, как можно программным путем

66

Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы рассмотрим, как в Word создать список

59

И так, праздники прошли, можно приниматься за работу… В этой статье мы рассмотрим, как можно сохранить

Здесь можно задавать вопросы по макросам в программе «Word».

Сообщений: 13
Просмотров: 3,781

Сообщений: 1
Просмотров: 42

Сообщений: 2
Просмотров: 58

Сообщений: 2
Просмотров: 65

Сообщений: 1
Просмотров: 82

Сообщений: 1
Просмотров: 41

Сообщений: 3
Просмотров: 101

Сообщений: 4
Просмотров: 165

Сообщений: 1
Просмотров: 135

Сообщений: 18
Просмотров: 972

Сообщений: 3
Просмотров: 191

Сообщений: 14
Просмотров: 793

Сообщений: 3
Просмотров: 152

Сообщений: 4
Просмотров: 239

Сообщений: 10
Просмотров: 543

Сообщений: 1
Просмотров: 128

Сообщений: 19
Просмотров: 2,613

Сообщений: 1
Просмотров: 191

Сообщений: 6
Просмотров: 549

Сообщений: 1
Просмотров: 177

  • Форум по VBA, Excel и Word

  • Word

  • Макросы в Word

Перемещенная тема

Заблокированная тема
Закрепленная тема
Тема, которую вы отслеживаете

Содержание

  • VBA PDF (бесплатные загрузки)
  • Примеры Word VBA «Шпаргалка»
  • Учебное пособие по макросам Word VBA
  • Пример простого макроса Word
  • Объект документа Word
  • Документы
  • Диапазон, выделение, абзацы
  • Примеры макросов Word

Добро пожаловать в наше мега-руководство по Word VBA / макросам!

Эта страница содержит:

    1. Учебное пособие по Word VBA в формате PDF (бесплатная загрузка)
    2. Word VBA «Шпаргалка», содержащая список наиболее часто используемых фрагментов кода Word VBA.
    3. Полное руководство по Word VBA / Macro.
    4. Список всех наших руководств по макросам Word VBA с возможностью поиска

Возможно, вас заинтересует наше интерактивное руководство по VBA для Excel. Хотя некоторые из примеров / упражнений относятся к Excel VBA, большая часть содержимого является общим для всех VBA, и вам может быть полезно изучить такие концепции, как If, Loops, MessageBoxes и т. Д.

VBA PDF (бесплатные загрузки)

Загрузите наше бесплатное руководство по Microsoft Word VBA! Или учебники VBA для других программ Office!

Скачать

Ниже вы найдете простые примеры кода VBA для работы с Microsoft Word.

Выбрать / перейти к

ОписаниеКод VBABackspaceSelection.TypeBackspaceВыбрать весь документSelection.HomeKey Unit: = wdStory
Selection.ExtendКопироватьSelection.CopyУдалитьSelection.Delete Unit: = wdCharacter, Count: = 1Вставить послеSelection.InsertAfter «текст»Начало строкиSelection.HomeKey Unit: = wdLineКонец линииSelection.EndKey Unit: = wdLineВставитьSelection.PasteВыбрать всеSelection.WholeStoryВыбрать всю строкуSelection.EndKey Unit: = wdLine, Extend: = wdExtendВверх по абзацуSelection.MoveUp Unit: = wdParagraph, Count: = 1Переместить вправо на один символSelection.MoveRight Unit: = wdCharacter, Count: = 1Переместить вправо на одну ячейку в таблицеSelection.MoveRight Unit: = wdCellПерейти к началу документаSelection.HomeKey Unit: = wdStoryПерейти в конец документаSelection.EndKey Unit: = wdStoryПерейти на страницу 1Selection.GoTo What: = wdGoToPage, Which: = wdGoToNext, Name: = ”1 ″Перейти к началу страницыSelection.GoTo What: = wdGoToBookmark, Name: = ” Page”
Selection.MoveLeft Unit: = wdCharacter, Count: = 1

Return to Top

Закладки

ОписаниеКод VBAДобавлятьС ActiveDocument.Bookmarks
.Add Range: = Selection.Range, Name: = «Name».
.DefaultSorting = wdSortByName
.ShowHidden = Ложь
Конец сСчитатьDim n as Integer
n = ActiveDocument.Bookmarks.CountУдалитьActiveDocument.Bookmarks («Имя закладки»). УдалитьСуществуют?Если ActiveDocument.Bookmarks.Exists («BookmarkName») = True, то
‘Сделай что-нибудь
Конец, еслиПерейти кSelection.GoTo What: = wdGoToBookmark, Name: = ”BookmarkName”ВыбиратьActiveDocument.Bookmarks («Имя закладки»). ВыберитеЗаменить текстSelection.GoTo What: = wdGoToBookmark, Name: = ”BookmarkName”
Selection.Delete Unit: = wdCharacter, Count: = 1
Selection.InsertAfter «Новый текст»
ActiveDocument.Bookmarks.Add Range: = Selection.Range, _
Name: = ”BookmarkName”

Return to Top

Документ

ОписаниеКод VBAАктивироватьДокументы («Example.doc»). АктивироватьДобавить в переменнуюDim doc As Document
Установить doc = Documents.AddДобавлятьDocuments.AddДобавить (из другого документа)Documents.Add Template: = ”C: Forms FormDoc.doc”, _
NewTemplate: = FalseЗакрыватьДокументы («Example.doc»). ЗакрытьЗакрыть — сохранить измененияДокументы («Example.doc»). Закройте SaveChanges: = wdSaveChangesЗакрыть — не сохранятьДокументы («Example.doc»). Закройте SaveChanges: = wdDoNotSaveChanges.Закрыть — запрос на сохранениеДокументы («Example.doc»). Закройте SaveChanges: = wdPromptToSaveChanges.

Return to Top

Столбцы

ОписаниеКод VBAСохранить какДокументы («Example.doc»). SaveAs («C: Example Example.doc»)СохранитьДокументы («Example.doc»). СохранитьЗащищатьДокументы («Example.doc»). Защитить пароль: = «пароль»Снять защитуДокументы («Example.doc»). Снять пароль: = «пароль»Число страницDim varNumberPages как вариант
varNumberPages = _
ActiveDocument.Content.Information (wdActiveEndAdjustedPageNumber)РаспечататьДокументы («Example.doc»). Распечатать

Return to Top

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Шрифт

ОписаниеКод VBAРазмерSelection.Font.Size = 12ЖирныйSelection.Font.Bold = TrueКурсивSelection.Font.Italic = TrueПодчеркиваниеSelection.Font.Underline = wdUnderlineSingleВсе заглавные буквыSelection.Font.AllCaps = TrueЦветSelection.Font.TextColor = vbRedИмяSelection.Font.Name = «Абади»Нижний индексSelection.Font.Subscript = TrueSuperScriptSelection.Font.Superscript = TrueЦвет выделенияSelection.Range.HighlightColorIndex = wdYellowСтильSelection.Style = ActiveDocument.Styles («Нормальный»)

Return to Top

Вставлять

ОписаниеКод VBAВставить автотекстSelection.TypeText Текст: = ”a3 ″
Selection.Range.InsertAutoTextВставить код датыВставить файлSelection.InsertFile («C: Docs Something.doc»)Вставить разрыв страницыSelection.InsertBreak Тип: = wdPageBreakВставить символ абзацаSelection.TypeText Text: = Chr $ (182)Вставить вкладкуSelection.TypeText Текст: = vbTabВставить текстSelection.TypeText Text: = «Любой текст»Вставить абзац типаSelection.TypeParagraphВставить абзацSelection.InsertParagraph

Return to Top

Петли

ОписаниеКод VBAСделать до конца документаСделать до ActiveDocument.Bookmarks (« Sel») = ActiveDocument.Bookmarks (« EndOfDoc»)
‘Сделай что-нибудь
SubДля каждого документа в ДокументахDim doc As Document
Для каждого документа в документах
‘Сделай что-нибудь
Следующий документЦикл по абзацамПодпункты через абзацы
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Paragraphs.CountFori = 1 На iParCount
ActiveDocument.Paragraphs (i) .Alignment = wdAlignParagraphLeft
Далее я

Return to Top

Пункт

ОписаниеКод VBAKeepLinesTogetherSelection.ParagraphFormat.KeepTogether = TrueKeepWithNextSelection.ParagraphFormat.KeepWithNext = ИстинаПробел послеSelection.ParagraphFormat.SpaceAfter = 12Пространство доSelection.ParagraphFormat.SpaceBefore = 0Выровнять по центруSelection.ParagraphFormat.Alignment = wdAlignParagraphCenterВыровнять по правому краюSelection.ParagraphFormat.Alignment = wdAlignParagraphRightВыровнять по левому краюSelection.ParagraphFormat.Alignment = wdAlignParagraphLeftЛевый отступSelection.ParagraphFormat.LeftIndent = InchesToPoints (3,75)Правый отступSelection.ParagraphFormat.RightIndent = InchesToPoints (1)Межстрочный интервалС Selection.ParagraphFormat
.LineSpacingRule = wdLineSpaceExactly
.LineSpacing = 12
Конец сПеребрать все абзацыПодпункты через абзацы
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Paragraphs.CountFori = 1 На iParCount
ActiveDocument.Paragraphs (i) .Alignment = wdAlignParagraphLeft
Далее я

Return to Top

Учебное пособие по макросам Word VBA

Это руководство по использованию VBA с Microsoft Word. Это руководство научит вас писать простой макрос и взаимодействовать с документами, диапазонами, выделениями и абзацами.

Примечание. Если вы новичок в Macros / VBA, вам также может быть полезна эта статья: Как писать макросы VBA с нуля.

VBA — это язык программирования, используемый для автоматизации программ Microsoft Office, включая Word, Excel, Outlook, PowerPoint и Access.

Макросы представляют собой блоки кода VBA, которые выполняют определенные задачи.

Когда ты Записать макрос, Word запишет код VBA в макрос, что позволит вам повторять ваши действия. Вы можете увидеть список всех доступных макросов из Просмотр> Макросы.

После записи макроса вы сможете редактировать макрос из списка макросов:

Когда вы нажимаете Редактировать, вы открываете Редактор VBA. Используя редактор VBA, вы можете редактировать записанные макросы или писать макрос Word с нуля. Для доступа к редактору VBA используйте ярлык ALT + F11 или щелкните Visual Basic от Лента разработчика.

Пример простого макроса Word

Это простой пример макроса Word VBA. Он выполняет следующие задачи:

  • Открывает документ Word
  • Записывает в документ
  • Закрывает и сохраняет документ Word.
123456789101112131415 Sub WordMacroExample ()’Открыть документ и назначить переменнойDim oDoc как документУстановите oDoc = Documents.Open («c: Users something NewDocument.docx»).’Написать в документSelection.TypeText «www.automateexcel.com»Selection.TypeParagraph’Сохранить и закрыть документoDoc.SaveoDoc.CloseКонец подписки

Основы работы с макросами Word

Весь код VBA должен храниться в подобных процедурах. Чтобы создать процедуру в VBA, введите «Sub WordMacroExample» (где «WordMacroExample» — желаемое имя макроса) и нажмите ВХОДИТЬ. VBA автоматически добавит круглые скобки и End Sub.

Объект документа Word

При взаимодействии с Microsoft Word в VBA вы часто будете ссылаться на Word «Объекты». Наиболее распространенные объекты:

Объект приложения — сам Microsoft Word

Объект документа — документ Word

Объект диапазона — Часть документа Word

Объект выделения — Выбранный диапазон или положение курсора.

заявка

Приложение — это объект «верхнего уровня». Через него можно получить доступ ко всем остальным объектам Word.

Помимо доступа к другим объектам Word, можно применить настройки «уровня приложения»:

1 Application.Options.AllowDragAndDrop = True

Это пример доступа к «Выборке» в «Windows (1)» в Приложении:

1 Application.Windows (1) .Selection.Characters.Count

Однако к наиболее распространенным объектам Word можно получить доступ напрямую, без ввода полной иерархии. Поэтому вместо этого вы можете (и должны) просто ввести:

1 Selection.Characters.Count

Документы

ActiveDocument

Часто у вас есть два или более документов, открытых в Word, и вам нужно указать, с каким конкретным документом Word следует взаимодействовать. Один из способов указать, какой документ использовать ActiveDocument. Например:

1 ActiveDocument.PrintOut

… Напечатал бы ActiveDocument. ActiveDocument — это документ в Word, который «имеет фокус»

Чтобы переключить ActiveDocument, используйте команду Activate:

1 Документы («Example.docx»). Активировать

Этот документ

Вместо использования ActiveDocument для ссылки на активный документ вы можете использовать ThisDocument для ссылки на документ, в котором хранится макрос. Этот документ никогда не изменится.

Переменные документа

Однако для более сложных макросов может быть сложно отслеживать активный документ. Также может быть неприятно переключаться между документами.

Вместо этого вы можете использовать переменные документа.

Этот макрос назначит ActiveDocument переменной, а затем распечатает документ, используя переменную:

12345 Sub VarExample ()Dim oDoc как документУстановите oDoc = ActiveDocumentoDoc.PrintOutКонец подписки

Документ Методы

Открыть документ

Чтобы открыть документ Word:

1 Documents.Open «c: Users SomeOne Desktop Test PM.docx»

Мы рекомендуем всегда назначать документ переменной при его открытии:

12 Dim oDoc как документУстановите oDoc = Documents.Open («c: Users SomeOne Desktop Test PM.docx»).

Создать новый документ

Чтобы создать новый документ Word:

Мы можем указать Word создать новый документ на основе некоторого шаблона:

1 Documents.Add Template: = «C: Program Files Microsoft Office Templates MyTemplate.dotx»

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

12 Dim oDoc как документУстановите oDoc = Documents.Add (Template: = «C: Program Files Microsoft Office Templates MyTemplate.dotx»)

Сохранить документ

Чтобы сохранить документ:

или Сохранить как:

1 ActiveDocument.SaveAs FileName: = c: Users SomeOne Desktop test2.docx «, FileFormat: = wdFormatDocument

Закрыть документ

Чтобы закрыть документ и сохранить изменения:

1 ActiveDocument.Close wdSaveChanges

или без сохранения изменений:

1 ActiveDocument.Close wdDoNotSaveChanges

Распечатать документ

Это напечатает активный документ:

1 ActiveDocument.PrintOut

Диапазон, выделение, абзацы

Диапазон а также Выбор являются, вероятно, наиболее важными объектами в Word VBA и, безусловно, наиболее часто используемыми.

Диапазон относится к некоторой части документа, обычно, но не обязательно, к тексту.

Выбор относится к выделенному тексту (или другому объекту, например изображениям) или, если ничего не выделено, к точке вставки.

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

Диапазон

Диапазон может быть любой частью документа, включая весь документ:

12 Dim oRange As RangeУстановите oRange = ActiveDocument.Content

или он может быть маленьким, как один символ.

Другой пример, этот диапазон будет относиться к первому слову в документе:

12 Dim oRange As RangeУстановите oRange = ActiveDocument.Range.Words (1)

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

В следующем примере мы выделим первое слово второго абзаца жирным шрифтом:

123 Dim oRange As RangeУстановите oRange = ActiveDocument.Paragraphs (2) .Range.Words (1)oRange.Bold = True

Установить текст диапазона

Чтобы установить текстовое значение диапазона:

123 Dim oRange As RangeУстановите oRange = ActiveDocument.Paragraphs (2) .Range.Words (1)oRange.Text = «Привет»

(Совет: обратите внимание на пробел после «Hello». Поскольку слово «объект» включает пробел после слова, просто «hello» мы получим «Hellonext word»)

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

Изменить шрифт

1 oRange.Font.Name = «Arial»

Отображение в окне сообщения количества символов в определенном диапазоне

1 MsgBox oRange.Characters.Count

Вставьте текст перед ним

1 oRange.InsertBefore «это вставленный текст»

Добавить сноску к диапазону

12 ActiveDocument.Footnotes.Add Диапазон: = oRange, _Text: = «Подробнее читайте на easyexcel.net.»

Скопируйте в буфер обмена

1234 oRange.CopyЧасто вам нужно перейти к конкретному диапазону. Итак, вы можете начать, начать и закончитьoRange.Start = 5oRange.End = 50

После приведенного выше кода oRange будет относиться к тексту, начинающемуся с пятого и заканчивающемуся 50-м символом в документе.

Выбор

Выбор используется даже шире, чем Диапазон, потому что с ним легче работать Выборы чем Диапазоны, ЕСЛИ ваш макрос взаимодействует ТОЛЬКО с ActiveDocument.

Сначала выберите желаемую часть вашего документа. Например, выберите второй абзац в активном документе:

1 ActiveDocument.Paragraphs (2) .Range.Select

Затем вы можете использовать объект выбора для ввода текста:

1 Selection.TypeText «Какой-то текст»

Мы можем ввести несколько абзацев ниже «Некоторый текст»:

12 Selection.TypeText «Какой-то текст»Selection.TypeParagraph

Часто необходимо знать, выделен ли какой-то текст или у нас есть только точка вставки:

12345 Если Selection.Type wdSelectionIP ТогдаSelection.Font.Bold = TrueЕщеMsgBox «Вам нужно выделить текст».Конец, если

При работе с объектом Selection мы хотим поместить точку вставки в определенное место и запускать команды, начиная с этой точки.

Начало документа:

1 Selection.HomeKey Unit: = wdStory, Extend: = wdMove

Начало текущей строки:

1 Selection.HomeKey Unit: = wdLine, Extend: = wdMove

Параметр Extend wdMove перемещает точку вставки. Вместо этого вы можете использовать wdExtend, который выделит весь текст между текущей точкой вставки.

1 Selection.HomeKey Unit: = wdLine, Extend: = wdExtend

Переместить выделение

Самый полезный метод изменения положения точки вставки — «Перемещение». Чтобы переместить выделение на два символа вперед:

1 Selection.Move Unit: = wdCharacter, Count: = 2

чтобы переместить его назад, используйте отрицательное число для параметра Count:

1 Selection.Move Unit: = wdCharacter, Count: = — 2

Параметр единицы измерения может быть wdCharacter, wdWord, wdLine или другим (используйте справку Word VBA, чтобы увидеть другие).

Чтобы вместо этого переместить слова:

1 Selection.Move unit: = wdWord, Count: = 2

С выделением легче работать (по сравнению с диапазонами), потому что он похож на робота, использующего Word, имитирующего человека. Где находится точка вставки — какое-то действие произойдет. Но это означает, что вы должны позаботиться о том, где находится точка вставки! Это непросто после многих шагов в коде. В противном случае Word изменит текст в нежелательном месте.

Если вам нужно какое-то свойство или метод, недоступный в объекте Selection, вы всегда можете легко получить диапазон, связанный с выбором:

1 Установите oRange = Selection.Range.

СОВЕТ: Использование Выбор часто проще, чем использование диапазонов, но также и медленнее (важно, когда вы имеете дело с большими документами)

Абзацы

Вы не можете напрямую использовать объект Paragraphs для изменения текста:

1 ActiveDocument.Paragraphs (1) .Text = «Нет, это не сработает»

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

1 ActiveDocument.Paragraphs (1) .Range.Text = «Теперь работает :)»

Но вы можете напрямую изменить его стиль:

1 ActiveDocument.Paragraphs (1) .Style = «Нормальный»

или измените форматирование на уровне абзаца:

1 ActiveDocument.Paragraphs (1) .LeftIndent = 10

или, может быть, вы хотите сохранить этот абзац на одной строке со следующим абзацем:

1 ActiveDocument.Paragraphs (1) .KeepWithNext = True

Сделайте абзац по центру:

1 ActiveDocument.Paragraphs (1) .Alignment = wdAlignParagraphCenter

ОЧЕНЬ полезно назначить конкретный абзац объектной переменной. Если мы присвоим переменной конкретный абзац, нам не нужно беспокоиться, станет ли первый абзац вторым, потому что мы вставили перед ним один абзац:

12 dim oPara как абзацУстановите oPara = Selection.Paragraphs (1) ‘здесь мы присваиваем первый абзац текущего выделения переменной

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

1234567 Sub ParagraphExample ()Dim oPara как абзацУстановить oPara = ActiveDocument.Paragraphs (1)MsgBox oPara.Range.TextoPara.Range.InsertParagraphBefore ‘Вставить абзацMsgBox oPara.Range.TextКонец подписки

Объект абзаца очень часто используется в циклах:

123456789101112 Sub LoopThroughParagraphs ()Dim oPara как абзацДля каждого параметра в ActiveDocument.Paragraphs«Сделай что-нибудь с этим. Мы просто покажем’текст абзаца, если его стиль — «Заголовок 4″Если oPara.Style = «Заголовок 4», тоMsgBox oPara.Range.TextКонец, еслиДалее oParaКонец подписки

Word VBA Tutorial Заключение

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

Примеры макросов Word

Примеры макросов Word
Шаблоны
Добавить новые документы
Подсчет слов в выделенном фрагменте
Текстовые поля
Сохранить как PDF
Закладки
Таблицы
Найти, найти и заменить
Открытые документы

Word VBA: часто задаваемые вопросы

Что такое макрос Word?

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

Есть ли в слове VBA?

Да, в Microsoft Word есть редактор VBA. Доступ к нему можно получить, нажав клавиши ALT + F11 или перейдя в раздел «Разработчик»> «Visual Basic».

Как использовать VBA в Word?

1. Откройте редактор VBA (ALT + F11 или Разработчик> Visual Basic).
2. Выберите «Вставить»> «Модуль», чтобы создать модуль кода.
3. Введите «Sub HelloWorld» и нажмите Enter.
4. Между строками «Sub HelloWorld» и «End Sub» введите «MsgBox« Hello World! »
5. Вы создали макрос!
6. Теперь нажмите «F5», чтобы запустить макрос.

Понравилась статья? Поделить с друзьями:
  • Готовые макросы для excel скачать бесплатно
  • Готовые макросы для excel с описанием
  • Готовые макросы для excel примеры
  • Готовые макросы для excel vba
  • Готовые макросы vba excel примеры