-
Программа-калькулятор «Возведение чисел в большие степени».
Реализовать точное вычисление возведения в большие степени однозначных чисел (от 2 до 9) с помощью длинной арифметики.
Описание и архив для тестирования. VBA Excel
-
С форума от Jonny323. VBA Word
Привет всем. Очень нужен макрос, думаю не сложный: Печать первой страницы в 6 экземплярах и 2ой страницы в 2 экземплярах.Заранее спасибо.
скачать docm-файл
-
ProgressBar на форме. VBA Excel
Элемент управления, который показывает ход выполнения программы (сколько сделано работы из 100%)…
Описание программы. и архив для скачивания (xlsm-файл в конце)
-
Статистические подсчеты в выделенном тексте. VBA Word
Создать в Word макрос, который определит количество слов, запятых и точек в произвольном тексте.
Словами будем называть группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя. Внутри слова не могут находиться точки или запятые. Многоточие не считается за точки…скачать docm-файл
-
Статистические подсчеты в тексте документа. Использование UserForm для ввода данных. VBA Word
Создать в Word программу — В форме пользователь вводит слово или словосочетание, а программа просматривает весь текст и вставляет в конце документа введенное слово (словосочетание), рядом с которым перечислены все номера страниц, на которых это слово встречается. Совпадения номеров страниц не допускаются. То есть если указанное слово на странице 5 встречается три раза, номер 5 в выводе указывается только один раз. Форма должна состоять из следующих компонентов:
— 1 TextBox для ввода слова (словосочетания);
— 1 кнопка для выхода из программы;
— 1 кнопка для запуска поиска и вставки результата в документ;
— компонент типа Label с поясняющим текстом над строкой ввода;
— Кроме того, на форме могут быть компоненты типа Frame;скачать docm-файл
-
Работа с ListBox (Excel). Привязка, сортировка, множественный выбор…
Описание и архив для скачивания
-
Программа для решения японской головоломки Судоку (Excel)
Описание программы. и архив для скачивания
-
Макросы выполнения запросов (т.е. формирование новой таблицы из базы данных Excel)
Описание макросов, вспомогательных функций и архив для скачивания
-
Сортировка Хоара (алгоритм с wikipedia.org)
Один из самых быстрых методов сортировки.
скачать xls-файл
-
Сортировка Слиянием (с использованием Хоара)
Один из самых быстрых и оптимальных методов сортировки.
скачать xls-файл
или Прочитать описание программы …
-
VBA Excel: Программа расчета биоритмов человека
Описание программы. и архив для скачивания
-
Для blackarrow с programmersforum.ru
Активация и переключение в Word из Excel. xlsm-файл
-
Определить в какую координатную четверть
попадает точка с заданными координатами А(а,b). VBA EXCEL.KoordQuartet. Описание и xls-файл
-
Представление целого числа прописью VBA EXCEL.
Written Number To String In Words. Описание и xls-файл
-
Школьная математика.
Решение КВАДРАТНОГО уравнения.
скачать docm-файл
-
VBA EXCEL.
Задача о ранце. Описание и xls-файл с макросами
-
VBA EXCEL. Задача о треугольнике. Массив, цикл, логика.
По заданным размерам трех сторон треугольника — определить его вид (прямоугольный,
тупоугольный, остроугольный или невозможно построить).скачать xls-файл
-
Будильник (alarm clock) в Excel
Вызов определенной процедуры в назначенное время. xlsm-файл
Вызов определенной процедуры в назначенное время с обратным отсчетом оставшихся секунд. xlsm-файл
-
VBA EXCEL.
Макрос приведения прямоугольной области выделенных данных к верхней треугольной матрице
Описание и xlsm-файл -
VBA EXCEL.
Макрос заполнения выделенной области случайными числами в диапазоне от 1 до 100
Описание и xlsm-файл -
VBA EXCEL.
Макрос, который в выделенном диапазоне представляет все отрицательные числа синим цветом,
положительные — красным, нулевые – белым (или желтым).скачать xlsm-файл
-
VBA EXCEL. Как скрыть или отобразить элементы листа.
Иногда, требуется скрыть от пользователя некоторые возможности (как правило, скрывается размещение данных):
— посещать другие листы данной книги (лучше не знать о них);
— прокручивать (горизонтально и вертикально) лист
— читать и изменять формулы в ячейках листа
— скрывать линии столбцов и строк
— скрывать заголовки (названия и номера) столбцов и строкскачать xls-файл
-
VBA EXCEL. Добавить и удалить пункт меню.
Не сложно добавить (удалить) собственный пункт в меню Excel. Это все описано в справке.
Но куда интересней поручить эту работу макросу.
Тогда появляется возможность
при открытии конкретного документа формировать специальное, индивидуальное меню, а после
его закрытия привести меню Excel в первоначальное состояние. (Данный пример кода работает только в MS Excel 2003,
а в 2007 нужны изменения названий панелей управления)скачать xls-файл
-
Клеточные автоматы VBA EXCEL.
Модель лесного пожара. Описание и xls-файл с макросами и классами
-
Метод Золотого сечения VBA EXCEL.
Нахождение экстремума функций. Тестирование алгоритма. Описание и xlsm-файл с макросами и классами
-
Замена местами максимального и минимального значений ячеек выделенного диапазона. VBA Excel
Разработать программу или пользовательскую форму для нахождения и перестановки местами элементов с максимальным и минимальным значением выделенного диапазона рабочей таблицы
скачать xlsm-файл
-
Строковая функция, возвращающая квадраты простых чисел от нуля до заданного числа. VBA Excel
Составить в Excel функцию, получающую натуральное число N и возвращающее квадраты всех простых чисел от 0 до заданного натурального N.
скачать xlsm-файл
-
Пользовательская форма (UserForm) для ввода данных по кредитам коммерческого банка. VBA Excel
Организуйте ввод сведений в таблицу, содержащую данные о выдаче долгосрочных кредитов коммерческим банком со следующими данными: код получателя кредита, наименование получателя кредита, дата выдачи кредита, срок (3-4 срока), на который выдан кредит (в днях), процент, сумма кредита, дата оплаты процентов по кредиту.
CreditUserForm — описание и xlsm-файл с макросами
-
Пользовательская форма (UserForm) для ввода данных по Регистрации туристов. VBA Excel
Разработать приложение, позволяющее при помощи диалогового окна, показанного на рисунке, заполнять таблицу Регистрация туристов.
скачать xlsm-файл
Доработанная форма Регистрация туристов (позволяет корректировать сделанные записи).
TouristUserForm2 — описание и xlsm-файл с макросами
-
Пример создания Сводной таблицы макросом VBA Excel (эксель).
Используются разные виды фильтров, стандартное диалоговое окно открытия файла и др. Описание и xlsm-файл с макросами
-
Запросы (представление определенных данных) макросом VBA Excel (для курсовой работы).
О бригадах, выращивающих плододво-ягодные культуры Описание и xls-файл с макросами
Инструкции к практическим работам по МДК.03.02. Инструментальные средства разработки программного обеспечения для специальности 09.02.03. Программирование в компьютерных системах (тема «Использование языка программирования VBA в пакете MS Office»).
Цель работ:
— познакомиться c основными возможностями создания и использования макрокоманд;
— сформировать умения добавлять и удалять макросы, назначать макросам клавиши, редактировать созданные макросы.
Просмотр содержимого документа
«Макросы в ACCESS»
Просмотр содержимого документа
«Практическая работа Excel (1-2)»
Просмотр содержимого документа
«Практическая работа Word (1)»
Просмотр содержимого документа
«Создание макросов MS Power Point»
Цель лабораторной
работы
Лабораторная
работа служит для получения практических
навыков по использованию возможностей
языка Visual
Basic
for
Applications
при создании процедур обработки текста
с помощью свойств и методов объектов
Microsoft
Word.
Основные сведения
об объектах Word,
их свойствах и методах
Visual
Basic
for
Applications
поддерживает набор объектов, соответствующих
элементам Word.
Используя свойства и методы этих объектов
можно автоматизировать все операции в
Word.
Однако целесообразно автоматизировать
выполнение тех операций, для реализации
которых нет стандартных средств в Word
или их выполнение стандартными средствами
является трудоемкой или рутинной
работой.
Наиболее важными
являются:
— Объект
Document
представляющий собой новый или созданный
ранее открытый документ.
Основными
свойствами объекта Document
являются:
Count
— количество
открытых в данный момент документов;
ActiveDocument
— активный
документ.
Некоторые
методы объекта Document
и коллекции Documents:
Open
— открывает
файл, содержащий существующий документ
и автоматически добавляет его в коллекцию;
Add
— добавляет
новый пустой документ;
Save
— сохраняет
изменения в существующем документе без
закрытия;
Save
As
(только для объекта) — сохраняет активный
вновь созданный документ в текущей
папке;
Item
— позволяет
получить доступ к элементу коллекции;
Activate
(только для объекта) — активизирует
открытый документ;
PrintOut
(только для объекта) — печать документа;
Close
— закрывает
документ.
-Объекты
Character
(символ). Word
(слово).
Sentence
(предложение),
Paragraph
(абзац).
Section
(раздел документа), задающие структуризацию
текста документа.
Все эти объекты
имеют свойства:
Count
— свойство
возвращает количество элементов в
коллекции;
First
— свойство
возвращает объект, являющийся первым
элементом коллекции;
Last
— свойство
возвращает объект, являющийся последним
элементом.
Коллекции
Characters,
Words,
Sentences
имеют единственный метод Item(Index).
Коллекция
Paragraphs
имеет все вышеперечисленные для данной
группы коллекций свойства и множество
свойств, значения которых определяют
формат абзаца.
Формат абзаца
может быть определен и с помощью методов.
Приведем некоторые методы коллекции
Paragraphs:
Item
— определяет
элемент коллекции;
Add
— добавление
нового пустого абзаца (параметр метода
указывает точку вставки, задается
объектом Range);
InsertParagraph,
InsertParagraphAfter,
InsertParagraphBefore
— осуществляют
вставку пустого абзаца вместо текста
или после, или перед текстом, задаваемым
объектом Selection
или Range;
Reset
— удаляет
форматирование, сделанное вручную,
применяя к абзацу формат, заданный
стилем абзаца;
Indent,
Outdent
— увеличивают,
уменьшают отступ абзаца от края листа;
TabHangingIndent(Count),
TabIndent(Count)
— увеличивают
(Count>0),
уменьшают (Count<0)
выступ или отступ абзаца от края листа
на заданное количество позиций;
Space1,
Space2,
Space15
— устанавливают
межстрочный интервал (одинарный, двойной,
полуторный).
— Объекты
Range
(диапазон) и
Selection
(выделение), представляющие части
документа.
Объект Range
позволяет задать произвольный диапазон,
представляющий собой последовательность
индексированных элементов и может быть
получен через метод Range
или свойство Range
других объектов.
Свойствами
объекта Range
являются:
Start
— начальная
символьная позиция диапазона.
End
—
конечная символьная позиция диапазона.
Text
— позволяет
получить или изменить содержимое
объекта.
Объект Selection
задает выделенную в документе область
(фрагмент). Выделенный в документе
фрагмент задает непрерывную область
элементов, но не является диапазоном,
заданным своим началом и концом. Выделить
можно только один фрагмент, поэтому
один объект Selection
может быть активен в данный момент
времени. Объект Selection
может быть получен с помощью свойства
Selection
или метода Select
других объектов.
Ниже приведены
некоторые методы присущие объектам
Selection
и Range:
Move
— метод
перемещения точки вставки;
MoveStart,
MoveEND
— методы
изменения значения свойств Start
и End;
Collapse
— сворачивает
диапазон к его началу или концу.
Next
— метод
получения ссылки на очередной элемент
коллекции объектов в диапазоне или
выделенном фрагменте;
Delete
— удаляет
текст входящий в диапазон.
InsertAfter
, InsertBefore
вставляет текст до или после текста,
входящего в диапазон. После вставки
текста диапазон расширяется, включая
в себя вставленный текст.
Copy
— копирует
объект в буфер обмена;
Cut
— перемещает
объект в буфер обмена;
Paste
— позволяет
поместить содержимое буфера в область,
заданную объектом Range
или Selection.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Содержание
- VBA PDF (бесплатные загрузки)
- Примеры Word VBA «Шпаргалка»
- Учебное пособие по макросам Word VBA
- Пример простого макроса Word
- Объект документа Word
- Документы
- Диапазон, выделение, абзацы
- Примеры макросов Word
Добро пожаловать в наше мега-руководство по Word VBA / макросам!
Эта страница содержит:
-
- Учебное пособие по Word VBA в формате PDF (бесплатная загрузка)
- Word VBA «Шпаргалка», содержащая список наиболее часто используемых фрагментов кода Word VBA.
- Полное руководство по Word VBA / Macro.
- Список всех наших руководств по макросам 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», чтобы запустить макрос.