Меню

Настройка visual basic for applications



Как установить VBA в приложениях Microsoft Office

Некоторые приложения пакета Microsoft Office, такие как Word, Excel, Access, Outlook, позволяют использовать для решения пользовательских задач язык программирования Visual Basic for Applications (VBA).

Для того чтобы использовать возможности VBA, макросы, процедуры и надстройки, написанные на этом языке программирования, необходимо чтобы компонент Visual Basic для приложений был установлен вместе с приложениями пакета Microsoft Office.

Как проверить установлен ли Visual Basic для приложений?

Самый простой способ проверить наличие либо отсутствие установленного VBA это попробовать его запустить. Запустить VBA можно сочетанием клавиш Alt+F11 на клавиатуре, либо кнопкой «Visual Basic» на вкладке «Разработчик». По умолчанию вкладка «Разработчик» отключена во всех приложениях пакета Microsoft Office, поэтому предварительно ее нужно отобразить в настройках ленты.

Итак, если VBA установлен, то нажатие горячих клавиш либо кнопки «Visual Basic» на ленте приложения приводит к появлению окна редактора Visual Basic на экране монитора. Выглядит редактор примерно так, как показано на изображении ниже.

В случае, если окно редактора не появилось, то компонент Visual Basic для приложений необходимо установить.

Как установить Visual Basic для приложений?

Чтобы установить компонент пакета Visual Basic for Applications, необходимо нажать кнопку Пуск, зайти в Панель управления/Программы и компоненты, выбрать программу Microsoft Office и нажать кнопку «Изменить», либо запустить установочный файл Setup.exe.

Далее выбрать опцию «Добавить или удалить компоненты», в параметрах установки выбрать компонент Visual Basic для приложений и доустановить его.

Источник

Урок 1 по VBA — знакомство с Visual Basic for Applications

В это статье мы кратко познакомимся с языком VBA, который позволяет создавать макросы в программных продуктах Microsoft Office. Макросы – некий программный код, который позволяет реализовывать за вас поставленную задачу. В отличии от прикладных программ, макросы VBA как таковые не могут выполняться самостоятельно. Язык VBA – Visual Basic for Applications является родственником таких языков как VBScript, Visual Basic или простой Basic. Синтаксис и общие правила программирования практически идентичны.

По сути, зная язык VBScript сервера Windows Script Host, вы с легкостью освоите все премудрости VBA.

Отличия VBA от VBScript

Графический интерфейс – редактор VBA предоставляет минимальный набор объектов для создания графического интерфейса. Вы можете добавить в проект новую форму и поместить на нее нужные объекты, например, список, кнопку, текстовое поле и так далее. В VBScript для этих целей нужно прибегать к помощи стороннего объекта WindowSystemObject.

Внешние объекты – оба языка позволяют подключать функциональные возможности внешних объектов. Объект – в данном контексте это внешний библиотечный файл с набором методов (функций) и свойств (переменных). Однако, если вы создаете макрос в Word, то объект Word.Application будет доступен автоматически, если макрос работает в документе Excel, то автоматически доступен компонент Excel.Application. В Windows Script Host сценариях эти объекты нужно подключать самостоятельно (сделать ссылку).

Обработка событий – в VBA компоненты формы поддерживают не только методы и свойств, но и события, например, нажатие кнопки мыши. В WSH обработка событий не предусмотрена по определению, так как, там нужно отдельно подключать классы для создания графического интерфейс.

Практическое применение VBA

И так, открыв любой документ Microsoft Office, например, Word, мы может вызвать встроенный редактор Visual Basic (комбинация клавиш Alt + F11) и приступить к созданию макроса. Как упоминалось выше, в макросах можно подключать функциональные возможности внешних объектов, тем самым, получать доступ к элементам операционной системы, например, файловая система, реестр и так далее. Желательно, что бы в настройках был отключен автоматический запуск макроса при открытии документа, дабы дырявый или зловредный код не натворил лиха.

Однако, на сегодняшний момент, макросы и язык VBA как элементы администрирования теряют свое преимущество. Тот же Microsoft Access, который предназначен для работы с базами данных также практически не используется. Более актуальным является пакет 1С.

Общие синтаксические принципы языка VBA

  • Регистр не играет роли – вы можете прописать оператор как в верхнем, так и в нижнем регистре, или вообще в вперемешку, например, dim, DIM, Dim, разницы нет.
  • Комментарии – для комментирования строки, перед ней прописывается одинарная кавычка или ключевое слово REM.
  • Максимальная длина любого имени (будь то имя переменной, константы или процедуры) составляет 255 знаков.
  • В отличии от JavaScript, Jscript или С языков, в VBA в конце строки с операторами не нужно ставить запятой.
  • Двоеточие – чтобы не прописывать каждый оператор в отдельной строке, их можно с помощью двоеточия прописать в одну строку, например: MsgBox «Строка1» : MsgBox «Строка2»
  • Перенос операторов – если строка с операторами слишком длинная, то ее можно разделить на несколько при помощи символа подчеркивания и знака &, например:
    MsgBox «Это простая» _
    & «строка»

Для демонстрации работы с макросами напишем такой пример. Откройте документ Microsoft Word и запустите редактор Visual Basic. Вам нужно создать новую форму и новый модуль (макрос). Цель – решение квадратного уравнения с изменяемыми значениями.

На поверхность формы надо добавить три полосы прокрутки и две текстовые метки. В редакторе кода для формы пропишите:

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

Спасибо за внимание. Автор блога Владимир Баталий

Источник

Начало работы с VBA в Office Getting started with VBA in Office

Постоянно возникает проблема, вызванная повторяющейся очисткой данных в 50 таблицах в Word? Are you facing a repetitive clean up of fifty tables in Word? Хотите, чтобы при открытии определенного документа пользователи получали запрос на добавление данных? Do you want a particular document to prompt the user for input when it opens? Не знаете, как быстро и легко перенести список контактов из Microsoft Outlook в таблицу Microsoft Excel? Are you having difficulty figuring out how to get your contacts from Microsoft Outlook into a Microsoft Excel spreadsheet efficiently?

Можно выполнить эти задачи и достичь гораздо большего с помощью Visual Basic для приложений (VBA) для Office. Это простой и в то же время мощный язык программирования, применение которого позволит расширить возможности приложений Office. You can perform these tasks and accomplish a great deal more by using Visual Basic for Applications (VBA) for Office—a simple, but powerful programming language that you can use to extend Office applications.

Данная статья предназначена для опытных пользователей Office, которые желают познакомиться с VBA и получить некоторое представление о том, как программирование может помочь им настроить Office. This article is for experienced Office users who want to learn about VBA and who want some insight into how programming can help them to customize Office.

Набор приложений Office обладает множеством возможностей. The Office suite of applications has a rich set of features. Существует множество разных способов создания, форматирования и управления документами, электронной почтой, базами данных, формами, электронными таблицами и презентациями. There are many different ways to author, format, and manipulate documents, email, databases, forms, spreadsheets, and presentations. Значительное преимущество программирования на VBA в Office заключается в том, что почти каждое действие, осуществляемое с мышью, клавиатурой или диалоговым окном, можно выполнить с помощью VBA. The great power of VBA programming in Office is that nearly every operation that you can perform with a mouse, keyboard, or a dialog box can also be done by using VBA. Если действие можно выполнить с помощью VBA, значит в дальнейшем его можно легко осуществлять сотни раз. Further, if it can be done once with VBA, it can be done just as easily a hundred times. (На самом деле автоматизация повторяющихся задач — одно из наиболее частых применений VBA в Office). (In fact, the automation of repetitive tasks is one of the most common uses of VBA in Office.)

Помимо возможности написания скрипта VBA для ускорения повседневных задач, VBA можно использовать для добавления новых функций в приложения Office или создания запросов и взаимодействия с пользователем ваших документов в соответствии с потребностями вашей организации. Beyond the power of scripting VBA to accelerate every-day tasks, you can use VBA to add new functionality to Office applications or to prompt and interact with the user of your documents in ways that are specific to your business needs. Например, можно написать код VBA, выводящий всплывающее сообщение, которое напоминает пользователям о необходимости сохранения документа на определенном сетевом диске при первой попытке его сохранения. For example, you could write some VBA code that displays a pop up message that reminds users to save a document to a particular network drive the first time they try to save it.

В этой статье описываются некоторые основные причины для использования возможностей программирования на VBA. This article explores some of the primary reasons to leverage the power of VBA programming. Здесь описывается язык VBA и встроенные средства, которые можно использовать для работы со своими решениями. It explores the VBA language and the out-of-the-box tools that you can use to work with your solutions. И, наконец, в данной статье можно найти советы и приемы, чтобы избежать некоторых распространенных ошибок программирования. Finally, it includes some tips and ways to avoid some common programming frustrations and missteps.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Interested in developing solutions that extend the Office experience across multiple platforms? Ознакомьтесь с новой моделью надстроек Office. Check out the new Office Add-ins model. У надстроек Office мало места по сравнению с надстройками и решениями VSTO, которые можно создавать с помощью практически любой технологии веб-программирования, например HTML5, JavaScript, CSS3 и XML. Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

Причины использования VBA When to use VBA and why

Есть несколько основных причин использовать программирование на VBA в Office. There are several principal reasons to consider VBA programming in Office.

Автоматизация и повторяемость Automation and repetition

Программирование на VBA эффектно и эффективно при создании решений для устранения повторяющихся проблем форматирования и исправлений. VBA is effective and efficient when it comes to repetitive solutions to formatting or correction problems. Например, вам когда-нибудь приходилось изменять стиль абзаца в верхней части каждой страницы в Word? For example, have you ever changed the style of the paragraph at the top of each page in Word? Или менять формат нескольких таблиц, скопированных из Excel в документ Word или электронную почту Outlook? Have you ever had to reformat multiple tables that were pasted from Excel into a Word document or an Outlook email? А вносить одинаковые изменения в несколько контактов Outlook? Have you ever had to make the same change in multiple Outlook contacts?

Если имеется изменение, которое нужно внести более десяти или двадцати раз, возможно, стоит реализовать его с помощью VBA. If you have a change that you have to make more than ten or twenty times, it may be worth automating it with VBA. Если изменение нужно внести несколько сотен раз, определенно следует рассмотреть VBA. If it is a change that you have to do hundreds of times, it certainly is worth considering. Почти все изменения форматирования или редакторские правки, которые можно внести вручную, можно реализовать на VBA. Almost any formatting or editing change that you can do by hand, can be done in VBA.

Расширения возможностей взаимодействия с пользователем Extensions to user interaction

Иногда некоторые действия пользователей с документом или приложением Office обязательны или желательны, но не доступны в стандартном приложении. There are times when you want to encourage or compel users to interact with the Office application or document in a particular way that is not part of the standard application. Например, нужно уведомлять пользователей о необходимости что-то сделать при открытии, сохранении или печати документа. For example, you might want to prompt users to take some particular action when they open, save, or print a document.

Взаимодействие приложений Office Interaction between Office applications

Нужно скопировать все контакты из Outlook в Word и отформатировать их определенным способом? Do you need to copy all of your contacts from Outlook to Word and then format them in some particular way? Или же нужно переместить данные из Excel в набор слайдов PowerPoint? Or, do you need to move data from Excel to a set of PowerPoint slides? Иногда простое копирование и вставка не работают так, как надо, или же это происходит слишком медленно. Sometimes simple copy and paste does not do what you want it to do, or it is too slow. Можно использовать программирование на VBA для работы с данными в двух или более приложениях Office одновременно, а затем изменить содержимое в одном приложении с учетом содержимого в другом. You can use VBA programming to interact with the details of two or more Office applications at the same time and then modify the content in one application based on the content in another.

Другой способ Doing things another way

Программирование на VBA — это мощное решение, но данный подход не всегда является оптимальным. VBA programming is a powerful solution, but it is not always the optimal approach. Иногда, чтобы достичь поставленных целей, имеет смысл воспользоваться другими методами. Sometimes it makes sense to use other ways to achieve your aims.

Важнейший вопрос состоит в поиске более легкого способа. The critical question to ask is whether there is an easier way. Перед запуском проекта VBA обратите внимание на встроенные инструменты и стандартные функциональные возможности. Before you begin a VBA project, consider the built-in tools and standard functionalities. Например, если необходимо выполнить времяемкую задачу редактирования или размещения элементов, для решения проблемы следует рассмотреть возможность использования стилей или сочетания клавиш. For example, if you have a time-consuming editing or layout task, consider using styles or accelerator keys to solve the problem. Можете ли вы выполнить задачу единожды, а затем повторить ее с помощью сочетания клавиш CTRL+Y («Повторить»)? Can you perform the task once and then use CTRL+Y (Redo) to repeat it? Можно ли создать документ правильного формата или с нужным шаблоном и затем скопировать содержимое в новый документ? Can you create a new document with the correct format or template, and then copy the content into that new document?

Приложения Office обладают множеством возможностей. Возможно, нужное решение уже в них предусмотрено. Office applications are powerful; the solution that you need may already be there. Узнайте больше об Office, прежде чем начинать программирование. Take some time to learn more about Office before you jump into programming.

Перед созданием проекта VBA убедитесь, что у вас есть время на работу с VBA. Before you begin a VBA project, ensure that you have the time to work with VBA. Программирование требует внимания и может оказаться непредсказуемым. Programming requires focus and can be unpredictable. Если вы начинающий программист, тем более не стоит увлекаться программированием, если не хватает времени на внимательную работу. Especially as a beginner, never turn to programming unless you have time to work carefully. Попытки написать «скрипт на скорую руку» для решения проблемы в сжатые сроки может привести к напряженной ситуации. Trying to write a «quick script» to solve a problem when a deadline looms can result in a very stressful situation. Если вы торопитесь, воспользуйтесь более привычными методами, даже если они сопряжены с монотонностью и повторениями. If you are in a rush, you might want to use conventional methods, even if they are monotonous and repetitive.

Читайте также:  Ручная настройка триколор приставка gs b 520

Введение в программирование на VBA VBA Programming 101

Использование кода для выполнения операций приложениями Using code to make applications do things

Написание кода может казаться очень сложным и непонятным процессом. На самом деле, его базовые принципы основаны на применении повседневной логики и вполне доступны. You might think that writing code is mysterious or difficult, but the basic principles use every-day reasoning and are quite accessible. Объекты в приложениях Microsoft Office, созданные для получения инструкций, можно сравнить с кнопками телефона. Microsoft Office applications are created in such a way that they expose things called objects that can receive instructions, in much the same way that a phone is designed with buttons that you use to interact with the phone. Когда вы нажимаете кнопку, телефон распознает команду и включает соответствующую цифру в набираемую последовательность. When you press a button, the phone recognizes the instruction and includes the corresponding number in the sequence that you are dialing. При программировании вы взаимодействуете с приложением, отправляя инструкции различным объектам. In programming, you interact with the application by sending instructions to various objects in the application. Эти объекты эффективны, но у них есть свои ограничения. These objects are expansive, but they have their limits. Они смогут делать только то, для чего были разработаны, и выполнять только ваши инструкции. They can only do what they are designed to do, and they will only do what you instruct them to do.

Например, представьте себе пользователя, который открывает документ Word, вносит несколько изменений, а затем сохраняет и закрывает его. For example, consider the user who opens a document in Word, makes a few changes, saves the document, and then closes it. Для программирования на VBA приложение Word предоставляет объект Document. In the world of VBA programming, Word exposes a Document object. Используя код VBA, можно заставить объект Document выполнять такие действия, как открытие, сохранение и закрытие. By using VBA code, you can instruct the Document object to do things such as Open, Save, or Close.

В следующем разделе описывается организация объектов. The following section discusses how objects are organized and described.

Объектная модель The Object Model

Разработчики организуют объекты программирования в виде иерархии, и такая иерархия называется объектной моделью приложения. Developers organize programming objects in a hierarchy, and that hierarchy is called the object model of the application. В Word, например, есть объект верхнего уровня Application, который содержит объект Document. Word, for example, has a top-level Application object that contains a Document object. Объект Document содержит объекты Paragraph и т. д. The Document object contains Paragraph objects and so on. В объектных моделях приблизительно отражено то, что вы видите в пользовательском интерфейсе. Object models roughly mirror what you see in the user interface. Они являются концептуальной картой приложения и его возможностей. They are a conceptual map of the application and its capabilities.

Определение объекта называется классом, и вы, возможно, увидите, как два этих термина используются попеременно. The definition of an object is called a class, so you might see these two terms used interchangeably. С технической точки зрения класс — это описание или шаблон, используемый для формирования или создания экземпляра объекта. Technically, a class is the description or template that is used to create, or instantiate, an object.

Уже существующим объектом можно управлять, задавая его свойства и вызывая его методы. Once an object exists, you can manipulate it by setting its properties and calling its methods. Если представить объект в виде имени существительного, свойства станут прилагательными, описывающими существительное, а методы — глаголами, которые приводят его в действие. If you think of the object as a noun, the properties are the adjectives that describe the noun and the methods are the verbs that animate the noun. Изменение свойства приводит к модификации определенной характеристики внешнего вида или поведения объекта. Changing a property changes some quality of appearance or behavior of the object. Вызов одного из методов объекта заставляет последний выполнить какое-либо действие. Calling one of the object methods causes the object to perform some action.

Код VBA в этой статье взаимодействует с приложением Office, в котором многие объекты, которыми управляет код, уже настроены и работают (например, объект Application приложения, Worksheet в Excel, Document в Word, Presentation в PowerPoint, объекты Explorer и Folder в Outlook). The VBA code in this article runs against an open Office application where many of the objects that the code manipulates are already up and running; for example, the Application itself, the Worksheet in Excel, the Document in Word, the Presentation in PowerPoint, the Explorer and Folder objects in Outlook. Узнав основную структуру объектной модели и некоторые ключевые свойства объекта Application, которые предоставляют доступ к его текущему состоянию, можно расширить возможности приложения Office с помощью VBA в Office. Once you know the basic layout of the object model and some key properties of the Application that give access to its current state, you can start to extend and manipulate that Office application with VBA in Office.

Методы Methods

В Word, например, можно изменить свойства и вызвать методы текущего документа Word с помощью свойства ActiveDocument объекта Application. In Word, for example, you can change the properties and invoke the methods of the current Word document by using the ActiveDocument property of the Application object. Это свойство ActiveDocument возвращает ссылку на объект Document, активный в приложении Word. This ActiveDocument property returns a reference to the Document object that is currently active in the Word application. «Возвращает ссылку на» означает «предоставляет доступ к». «Returns a reference to» means «gives you access to.»

В приведенном ниже коде выполняется именно то, что сказано; т. е. активный документ приложения сохраняется. The following code does exactly what it says; that is, it saves the active document in the application.

Прочитайте код слева направо: «В этом приложении (Application) с документом (Document), на который ссылается активный документ (ActiveDocument), вызовите метод сохранения (Save). Read the code from left to right, «In this Application, with the Document referenced by ActiveDocument, invoke the Save method.» Помните, что Save — самая простая форма метода; ему не нужны подробные инструкции от разработчика. Be aware that Save is the simplest form of method; it does not require any detailed instructions from you. Объекту Document дается команда сохранения (Save), а дополнительные данные вводить не нужно. You instruct a Document object to Save and it does not require any more input from you.

Если методу требуются дополнительные данные, они называются параметрами. If a method requires more information, those details are called parameters. В приведенном ниже коде выполняется метод SaveAs, для которого требуется указать новое имя файла. The following code runs the SaveAs method, which requires a new name for the file.

Значения, которые указываются в скобках после имени метода — это параметры. Values listed in parentheses after a method name are the parameters. Здесь новое имя файла — параметр метода SaveAs. Here, the new name for the file is a parameter for the SaveAs method.

Свойства Properties

Для задания свойства используйте такой же синтаксис, что и для чтения свойства. You use the same syntax to set a property that you use to read a property. В приведенном ниже коде выполняется метод для выбора ячейки A1 в Excel и затем задается свойство для записи данных в ячейку. The following code executes a method to select cell A1 in Excel and then to set a property to put something in that cell.

Первая задача при программировании на VBA — осознать объектную модель каждого приложения Office и научиться читать синтаксис объекта, метода и свойства. The first challenge in VBA programming is to get a feeling for the object model of each Office application and to read the object, method, and property syntax. Во всех приложениях Office объектные модели похожи, но каждая из них обладает особенными характеристиками в соответствии с типом документов и объектов, которыми управляет. The object models are similar in all Office applications, but each is specific to the kind of documents and objects that it manipulates.

В первой строке фрагмента кода указан объект Application, на этот раз это приложение Excel, а затем объект ActiveSheet, который предоставляет доступ к активному листу. In the first line of the code snippet, there is the Application object, Excel this time, and then the ActiveSheet, which provides access to the active worksheet. После этого указан термин Range, который означает «определить диапазон ячеек следующим способом». After that is a term not as familiar, Range, which means «define a range of cells in this way.» Код указывает объекту Range создать себя с одной ячейкой A1. The code instructs Range to create itself with just A1 as its defined set of cells. Другими словами, в первой строке кода объявляется объект Range и запускается метод для его выбора. In other words, the first line of code defines an object, the Range, and runs a method against it to select it. Результат автоматически сохраняется в другом свойстве объекта Application с именем Selection. The result is automatically stored in another property of the Application called Selection.

Во второй строке кода задается значение свойства Value объекта Selection, равное «Hello World» и отображающееся в ячейке A1. The second line of code sets the Value property of Selection to the text «Hello World», and that value appears in cell A1.

Самый простой код VBA может предоставлять доступ к объектам в приложении Office, с которым вы работаете, и задавать их свойства. The simplest VBA code that you write might simply gain access to objects in the Office application that you are working with and set properties. Например, можно получить доступ к строкам в таблице Word и изменить их форматирование в скрипте VBA. For example, you could get access to the rows in a table in Word and change their formatting in your VBA script.

Это звучит просто, но может быть невероятно полезно. Написав такой код, можно освоить всю мощь программирования для внесения одинаковых изменений в несколько таблиц или документов в соответствии с определенной логикой или каким-то условием. That sounds simple, but it can be incredibly useful; once you can write that code, you can harness all of the power of programming to make those same changes in several tables or documents, or make them according to some logic or condition. Сделать 1000 изменений для компьютера почти то же самое, что 10, поэтому при работе с большими документами и при решении множества проблем VBA может оказаться очень полезен и сэкономить много времени. For a computer, making 1000 changes is no different from making 10, so there is an economy of scale here with larger documents and problems, and that is where VBA can really shine and save you time.

Макросы и редактор Visual Basic Macros and the Visual Basic Editor

Теперь вы кое-что знаете об объектных моделях в приложениях Office. Возможно, вам не терпится попробовать вызвать методы объекта, задать его свойства и отреагировать на события объекта. Now that you know something about how Office applications expose their object models, you are probably eager to try calling object methods, setting object properties, and responding to object events. Для этого необходимо написать свой код так, чтобы он распознавался в Office. Обычно это делается с помощью редактора Visual Basic. To do so, you must write your code in a place and in a way that Office can understand; typically, by using the Visual Basic Editor. Несмотря на то, что он установлен по умолчанию, многие пользователи бывают не осведомлены даже о его наличии до тех пор, пока не включат его на ленте. Although it is installed by default, many users do not know that it is even available until it is enabled on the ribbon.

Все приложения Office используют ленту. All Office applications use the ribbon. Одной из вкладок на ленте является вкладка Разработчик, где можно вызвать редактор Visual Basic и другие инструменты разработчика. One tab on the ribbon is the Developer tab, where you access the Visual Basic Editor and other developer tools. Так как в Office вкладка Разработчик не показана по умолчанию, необходимо вывести ее на экран, выполнив указанные ниже действия. Because Office does not display the Developer tab by default, you must enable it by using the following procedure:

Включение вкладки «Разработчик» To enable the Developer tab

На вкладке Файл выберите Параметры, чтобы открыть диалоговое окно Параметры. On the File tab, choose Options to open the Options dialog box.

Выберите пункт Настроить ленту в левой части диалогового окна. Choose Customize Ribbon on the left side of the dialog box.

В разделе Выбрать команды, расположенном слева в окне, выберите Часто используемые команды. Under Choose commands from on the left side of the dialog box, select Popular Commands.

В разделе Настроить ленту, который находится справа в диалоговом окне, выберите Основные вкладки в раскрывающемся списке, а затем установите флажок Разработчик. Under Customize the Ribbon on the right side of the dialog box, select Main Tabs in the drop down list box, and then select the Developer checkbox.

Нажмите кнопку OK. Choose OK.

В Office 2007 показ вкладки Разработчик выполняется путем нажатия кнопки Office, выбора пункта Параметры, а затем установки флажка Показать вкладку «Разработчик» на ленте в категории Популярные диалогового окна Параметры. In Office 2007, you displayed the Developer tab by choosing the Office button, choosing Options, and then selecting the Show Developer tab in Ribbon check box in the Popular category of the Options dialog box.

После включения вкладки Разработчик можно легко найти кнопки Visual Basic и Макрос. After you enable the Developer tab, it is easy to find the Visual Basic and Macros buttons.

Рисунок 1. Кнопки на вкладке «Разработчик» Figure 1. Buttons on the Developer tab

Проблемы безопасности Security issues

Для защиты документов Office от вирусов и вредоносных макросов не сохраняйте код макросов в стандартных документах Office со стандартным расширением файла. To protect Office users against viruses and dangerous macro code, you cannot save macro code in a standard Office document that uses a standard file extension. Следует сохранить код в файле с особым расширением. Instead, you must save the code in a file with a special extension. Например, сохраняйте макросы не в стандартном документе Word с расширением DOCX, а в специальном документе Word с поддержкой макросов и расширением DOCM. For example you cannot save macros in a standard Word document with a .docx extension; instead, you must use a special Word Macro-Enabled Document with a .docm extension.

При открытии DOCM-файла система безопасности Office все равно может запретить запуск макросов в документе, сообщая или не сообщая об этом. When you open a .docm file, Office security might still prevent the macros in the document from running, with or without telling you. Изучите параметры и настройки центра управления безопасностью во всех приложениях Office. Examine the settings and options in the Trust Center on all Office applications. По умолчанию макросы отключены, но пользователь оповещается об этом и может включить их. The default setting disables macro from running, but warns you that macros have been disabled and gives you the option to turn them back on for that document.

Читайте также:  Настройка даты и время кассы штрих м

Можно указать специальные папки, в которых можно выполнять макросы, создав надежные расположения, надежные документы или надежных издателей. You can designate specific folders where macros can run by creating Trusted Locations, Trusted Documents, or Trusted Publishers. Самый универсальный способ — использовать надежных издателей. Этот способ подходит для работы с документами, у которых есть распространяемые вами цифровые подписи. The most portable option is to use Trusted Publishers, which works with digitally signed documents that you distribute. Чтобы получить дополнительные сведения о параметрах безопасности в определенном приложении Office, откройте диалоговое окно Параметры, а затем выберите Центр управления безопасностью и Параметры центра управления безопасностью. For more information about the security settings in a particular Office application, open the Options dialog box, choose Trust Center, and then choose Trust Center Settings.

Некоторые приложения Office, такие как Outlook, сохраняют макросы по умолчанию в основном шаблоне на локальном компьютере. Some Office applications, like Outlook, save macros by default in a master template on your local computer. Хотя это позволяет уменьшить количество проблем с безопасностью на локальном компьютере при выполнении собственных макросов, для распространения своих макросов в этом случае потребуется стратегия развертывания. Although that strategy reduces the local security issues on your own computer when you run your own macros, it requires a deployment strategy if you want to distribute your macro.

Запись макроса Recording a macro

Если нажать кнопку Макрос на вкладке Разработчик, открывается диалоговое окно Макрос, которое предоставляет доступ к подпрограммам или макросам VBA, которые можно использовать из определенного документа или приложения. When you choose the Macro button on the Developer tab, it opens the Macros dialog box, which gives you access to VBA subroutines or macros that you can access from a particular document or application. Кнопка Visual Basic открывает редактор Visual Basic, где можно создавать и редактировать код VBA. The Visual Basic button opens the Visual Basic Editor, where you create and edit VBA code.

На вкладке Разработчик в Word и Excel также есть кнопка Запись макроса, которая автоматически создает код VBA, позволяющий воспроизводить ваши действия в приложении. Another button on the Developer tab in Word and Excel is the Record Macro button, which automatically generates VBA code that can reproduce the actions that you perform in the application. Запись макроса — это великолепное средство, которое можно использовать для изучения VBA. Record Macro is a terrific tool that you can use to learn more about VBA. Читая такой код, можно понять язык VBA и объединить знания пользователя и программиста Office. Reading the generated code can give you insight into VBA and provide a stable bridge between your knowledge of Office as a user and your knowledge as a programmer. Только помните о том, что этот код может быть запутанным, так как редактор макросов делает допущения насчет ваших намерений, которые не всегда точны. The only caveat is that the generated code can be confusing because the Macro editor must make some assumptions about your intentions, and those assumptions are not necessarily accurate.

Запись макроса To record a macro

Создайте книгу в Excel и откройте вкладку Разработчик на ленте. Open Excel to a new Workbook and choose the Developer tab in the ribbon. Нажмите кнопку Запись макроса и оставьте все параметры по умолчанию в диалоговом окне Запись макроса, в том числе имя Макрос1 и расположение Эта книга. Choose Record Macro and accept all of the default settings in the Record Macro dialog box, including Macro1 as the name of the macro and This Workbook as the location.

Нажмите кнопку ОК, чтобы начать запись макроса. Choose OK to begin recording the macro. Обратите внимание, что текст кнопки изменяется на Остановить запись. Note how the button text changes to Stop Recording. Нажмите эту кнопку, когда выполните все записываемые действия. Choose that button the instant you complete the actions that you want to record.

Выберите ячейку B1 и введите классическую первую строку программиста — Hello World. Choose cell B1 and type the programmer’s classic first string: Hello World. Прекратите ввод текста и посмотрите на кнопку Остановить запись. Она серая, так как Excel ждет, пока вы завершите ввод значения ячейки. Stop typing and look at the Stop Recording button; it is grayed out because Excel is waiting for you to finish typing the value in the cell.

Выберите ячейку B2, чтобы завершить действие в ячейке B1, а затем нажмите кнопку Остановить запись. Choose cell B2 to complete the action in cell B1, and then choose Stop Recording.

Выберите пункт Макросы на вкладке Разработчик, выберите макрос Макрос1, если он еще не выбран, и нажмите кнопку Изменить, чтобы просмотреть код Макрос1 в редакторе Visual Basic. Choose Macros on the Developer tab, select Macro1 if it is not selected, and then choose Edit to view the code from Macro1 in the Visual Basic Editor.

Рисунок 2. Код макроса в редакторе Visual Basic Figure 2. Macro code in Visual Basic Editor

Код Looking at the code

Созданный макрос должен выглядеть указанным ниже образом. The macro that you created should look similar to the following code.

Учтите схожие моменты с предыдущим примером кода, в котором выбирается ячейка A1, и отличия от него. Be aware of the similarities to the earlier code snippet that selected text in cell A1, and the differences. В этом примере кода выбирается ячейка B1, а затем строка «Hello World» записываются в активную ячейку. In this code, cell B1 is selected, and then the string «Hello World» is applied to the cell that has been made active. Кавычки вокруг текста обозначают строковое значение (в противоположность числовому значению). The quotes around the text specify a string value as opposed to a numeric value.

Вспомните, что для отображения кнопки Остановить запись нужно было выбрать ячейку B2. Remember how you chose cell B2 to display the Stop Recording button again? Это действие также задается в строке кода. That action shows up as a line of code as well. Средство записи макроса записывает каждое нажатие клавиши. The macro recorder records every keystroke.

Строки кода, начинающиеся с апострофа и выделенные зеленым цветом — это комментарии, которые поясняют код или напоминают другим программистам его предназначение. The lines of code that start with an apostrophe and colored green by the editor are comments that explain the code or remind you and other programmers the purpose of the code. VBA игнорирует любую строку или ее часть, которые начинаются с одинарной кавычки. VBA ignores any line, or portion of a line, that begins with a single quote. Написание понятных и подходящих комментариев в коде очень важно, но в этой статье данная тема не затрагивается. Writing clear and appropriate comments in your code is an important topic, but that discussion is out of the scope of this article. В следующих ссылках на этот код в данной статье эти четыре строки комментариев отсутствуют. Subsequent references to this code in the article do not include those four comment lines.

Когда средство записи макроса генерирует код, оно использует сложный алгоритм для определения нужных методов и свойств. When the macro recorder generates the code, it uses a complex algorithm to determine the methods and the properties that you intended. Если данное свойство незнакомо, пользователю могут помочь множество ресурсов. If you do not recognize a given property, there are many resources available to help you. Например, в записанном макросе средство записи макроса сгенерировало код, который ссылается на свойство FormulaR1C1. For example, in the macro that you recorded, the macro recorder generated code that refers to the FormulaR1C1 property. Не знаете, что это значит? Not sure what that means?

Помните, что объект Application используется во всех макросах VBA. Be aware that Application object is implied in all VBA macros. В записанном коде объект Application. The code that you recorded works with Application. используется в начале каждой строки. at the beginning of each line.

Использование справки разработчика Using Developer Help

Выберите FormulaR1C1 в записанном макросе и нажмите F1. Select FormulaR1C1 in the recorded macro and press F1. Система справки запустит быстрый поиск, определит, что нужные темы есть в разделе «Разработчик» справки Excel, и укажет свойство FormulaR1C1. The Help system runs a quick search, determines that the appropriate subjects are in the Excel Developer section of the Excel Help, and lists the FormulaR1C1 property. Можно щелкнуть ссылку, чтобы прочитать описание свойства, но прежде обратите внимание на ссылку Справочник по объектной модели Excel в нижней части окна. You can choose the link to read more about the property, but before you do, be aware of the Excel Object Model Reference link near the bottom of the window. Щелкните ее, чтобы просмотреть список объектов, которые Excel использует в объектной модели для описания листов и их компонентов. Choose the link to view a long list of objects that Excel uses in its object model to describe the Worksheets and their components.

Выберите любой из них, чтобы просмотреть свойства и методы, которые применяются к этому объекту, а также ссылки на другие связанные с ними параметры. Choose any one of those to see the properties and methods that apply to that particular object, along with cross references to different related options. Многие записи справки содержат короткие примеры кода, которые могут быть полезны. Many Help entries also have brief code examples that can help you. Например, можно перейти по ссылкам в описании объекта Borders, чтобы узнать, как задать границу в VBA. For example, you can follow the links in the Borders object to see how to set a border in VBA.

Редактирование кода Editing the code

Код с границами отличается от записанного макроса. The Borders code looks different from the recorded macro. В объектной модели есть несколько способов адресации любого объекта (ячейки A1 в этом примере), что может вызывать затруднения. One thing that can be confusing with an object model is that there is more than one way to address any given object, cell A1 in this example.

Иногда самый лучший способ изучить программирование — вносить небольшие изменения в определенный рабочий код и смотреть, что получается. Sometimes the best way to learn programming is to make minor changes to some working code and see what happens as a result. Попробуйте сделать это сейчас. Try it now. Откройте Макрос1 в редакторе Visual Basic и измените код указанным ниже образом. Open Macro1 in the Visual Basic Editor and change the code to the following.

Используйте копирование и вставку, где это возможно, чтобы избежать опечаток. Use Copy and Paste as much as possible when working with code to avoid typing errors.

Не нужно сохранять код, чтобы запустить его, поэтому вернитесь в документ Excel, нажмите кнопку Макросы на вкладке Разработчик, выберите Макрос1 и нажмите кнопку Выполнить. You do not need to save the code to try it out, so return to the Excel document, choose Macros on the Developer tab, choose Macro1, and then choose Run. Теперь в ячейке A1 есть текст Wow!, Cell A1 now contains the text Wow! а вокруг него размещена граница из двойных линий. and has a double-line border around it.

Рисунок 3. Результаты первого макроса Figure 3. Results of your first macro

Только что вы записали макрос, прочитали документацию по объектной модели и написали простую программу на VBA, которая что-то делает. You just combined macro recording, reading the object model documentation, and simple programming to make a VBA program that does something. Поздравляем! Congratulations!

Программа не работает? Did not work? Читайте дальше и узнайте о методах отладки в VBA. Read on for debugging suggestions in VBA.

Советы и приемы программирования Programming tips and tricks

Начните с примеров Start with examples

Сообщество программистов на VBA очень большое; поиск в Интернете почти всегда может дать пример кода на VBA, который выполняет почти те же действия, которые необходимы вам. The VBA community is very large; a search on the Web can almost always yield an example of VBA code that does something similar to what you want to do. Если не удается найти хороший пример, попробуйте разбить задачу на более мелкие модули и выполнить поиск каждого из них. Или попробуйте найти более общую, но аналогичную задачу. If you cannot find a good example, try to break the task down into smaller units and search on each of those, or try to think of a more common, but similar problem. Если начать с примеров, это может сэкономить много времени. Starting with an example can save you hours of time.

Это не означает, что в Интернете всегда доступен бесплатный и качественный код. That does not mean that free and well-thought-out code is on the Web waiting for you to come along. В действительности, в найденных программах могут быть ошибки. In fact, some of the code that you find might have bugs or mistakes. Идея в том, что примеры из Интернета или документации по VBA помогают начать работу. The idea is that the examples you find online or in VBA documentation give you a head start. Помните, что для изучения программирования требуется время и умственные усилия. Remember that learning programming requires time and thought. Перед тем как использовать очередное решение для решения проблемы, спросите себя, подходит ли VBA для этого. Before you get in a big rush to use another solution to solve your problem, ask yourself whether VBA is the right choice for this problem.

Упрощение задачи Make a simpler problem

Программирование может быстро стать сложной задачей. Programming can get complex quickly. Важно, особенно для новичка, разбивать задачу самые маленькие логические модули, затем отдельно писать и проверять каждую часть. It is critical, especially as a beginner, that you break the problem down to the smallest possible logical units, then write and test each piece in isolation. Если перед вами слишком много кода и вы запутались, остановитесь и отложите задачу. If you have too much code in front of you and you get confused or muddled, stop and set the problem aside. Когда вы к ней вернетесь, скопируйте небольшую часть задачи в новый модуль, разберитесь с ней, напишите работающий код и проверьте его. When you come back to the problem, copy out a small piece of the problem into a new module, solve that piece, get the code working, and test it to ensure that it works. Затем займитесь следующей частью. Then move on to the next part.

Читайте также:  Apache conf настройка php

Ошибки и отладка Bugs and debugging

Существует два основных вида ошибок программирования: синтаксические ошибки, которые нарушают грамматические правила языка программирования и ошибки времени выполнения, которые синтаксически правильны, но вызывают сбой, когда VBA пытается выполнить код. There are two main types of programming errors: syntax errors, which violate the grammatical rules of the programming language, and run-time errors, which look syntactically correct, but fail when VBA attempts to execute the code.

Хотя исправлять синтаксические ошибки неприятно, их легко обнаружить; редактор Visual Basic выдает сопровождающееся звуковым сигналом сообщение об ошибке и меняет цвет текста, если при вводе кода найдена синтаксическая ошибка. Although they can be frustrating to fix, syntax errors are easy to catch; the Visual Basic Editor beeps and flashes at you if you type a syntax error in your code.

Например, в VBA строковые значения должны быть заключены в двойные кавычки. For example, string values must be surrounded by double quotes in VBA. Чтобы узнать, что происходит при использовании одинарных кавычек, вернитесь в редактор Visual Basic и замените строку «Wow!» To find out what happens when you use single quotes instead, return to the Visual Basic Editor and replace the «Wow!» на ‘Wow!’ string in the code example with ‘Wow!’ (т. е. слово Wow в одинарных кавычках). (that is, the word Wow enclosed in single quotes). Если выбрать следующую строку, среагирует редактор Visual Basic. If you choose the next line, the Visual Basic Editor reacts. Сообщение об ошибке «Ошибка компиляции. Ожидается: выражение» не особо помогает, но строка, содержащая ошибку, становится красной, что говорит о синтаксической ошибке в этой строке. В результате программа не будет запускаться. The error «Compile error: Expected: expression» is not that helpful, but the line that generates the error turns red to tell you that you have a syntax error in that line and as a result, this program will not run.

Нажмите кнопку ОК и измените текст на «Wow!». Choose OK and change the text back to»Wow!».

Ошибки времени выполнения обнаружить сложнее, так как синтаксически все выглядит правильно, но при попытке выполнить код возникает сбой. Runtime errors are harder to catch because the programming syntax looks correct, but the code fails when VBA tries to execute it.

Например, откройте редактор Visual Basic и измените имя свойства Value на ValueX в макросе, намеренно вызывая ошибку времени выполнения, так как у объекта Range нет свойства ValueX. For example, open the Visual Basic Editor and change the Value property name toValueX in your Macro, deliberately introducing a runtime error since the Range object does not have a property called ValueX. Вернитесь к документу Excel, откройте диалоговое окно Макрос и запустите Макрос1 еще раз. Go back to the Excel document, open the Macros dialog box and run Macro1 again. Появится сообщение Visual Basic, в котором описывается ошибка во время выполнения: «Объект не поддерживает это свойство или метод». You should see a Visual Basic message box that explains the run-time error with the text, «Object doesn’t support this property of method.» Хотя текст и так понятен, нажмите кнопку Отладка для получения дополнительных сведений. Although that text is clear, choose Debug to find out more.

После возвращения в редактор Visual Basic будет включен специальный режим отладки, в котором желтым цветом выделяется строка кода с ошибкой. When you return to the Visual Basic Editor, it is in a special debug mode that uses a yellow highlight to show you the line of code that failed. Как и ожидалось, желтым выделена строка со свойством ValueX. As expected, the line that includes the ValueX property is highlighted.

Можно внести изменения в исполняемый код VBA, поэтому измените ValueX на Value и нажмите маленькую зеленую кнопку воспроизведения в меню Отладка. You can make changes to VBA code that is running, so change ValueX back to Value and choose the little green play button underneath the Debug menu. Программа должна запуститься без ошибок. The program should run normally again.

Будет полезно узнать, как использовать отладчик для решения более сложных задач. It is a good idea to learn how to use the debugger more deliberately for longer, more complex programs. Хотя бы изучите, как устанавливать точки останова, чтобы прекращать выполнение программы там, где нужно взглянуть на код, как добавлять контрольные значения, чтобы просматривать значения разных переменных и свойств во время выполнения кода, и как пошагово, строка за строкой, выполнять код. At a minimum, learn a how to set break-points to stop execution at a point where you want to take a look at the code, how to add watches to see the values of different variables and properties as the code runs, and how to step through the code line by line. Все эти возможности доступны в меню Отладка, а серьезный пользователь отладчика обычно запоминает соответствующие сочетания клавиш. These options are all available in the Debug menu and serious debugger users typically memorize the accompanying keyboard shortcuts.

Правильное использование справочных материалов Using reference materials well

Чтобы открыть справочник разработчика, встроенный в справку Office, откройте справку в любом приложении Office, выбрав вопросительный знак на ленте или нажав клавишу F1. To open the Developer Reference that is built into Office Help, open the Help reference from any Office application by choosing the question mark in the ribbon or by pressing F1. Затем справа от кнопки Поиск выберите стрелку раскрывающегося меню для фильтрации содержимого. Then, to the right of the Search button, choose the dropdown arrow to filter the contents. Выберите Справочник разработчика. Choose Developer Reference. Если на левой панели не отображается содержание, щелкните маленький значок в виде книги, чтобы открыть его, и раскройте справочник по объектной модели. If you do not see the table of contents in the left panel, choose the little book icon to open it, and then expand the Object Model Reference from there.

Рисунок 5. Фильтрация справки разработчика работает во всех приложениях Office Figure 5. Filtering on developer Help applies to all Office applications

Время, потраченное на исследование справочника по объектной модели, быстро окупится. Time spent browsing the Object Model reference pays off. Когда вы изучите базовый синтаксис VBA и объектную модель приложения Office, с которым вы работаете, можно перейти от догадок к методичному программированию. After you understand the basics of VBA syntax and the object model for the Office application that you are working with, you advance from guesswork to methodical programming.

Конечно, центр разработки Microsoft Office — это прекрасный портал со статьями, советами и форумами сообщества. Of course the Microsoft Office Developer Center is an excellent portal for articles, tips, and community information.

Поиск в форумах и группах Searching forums and groups

Рано или поздно все программисты попадают в ситуацию, когда невозможно решить какую-либо проблему, даже прочитав все найденные статьи и проведя много бессонных ночей в поисках ее решения. All programmers get stuck sometimes, even after reading every reference article they can find and losing sleep at night thinking about different ways to solve a problem. К счастью, в Интернете появилось сообщество разработчиков, которые помогают друг другу при решении задач программирования. Fortunately, the Internet has fostered a community of developers who help each other solve programming problems.

Если поискать в Интернете «форум разработчиков Office», можно найти несколько таких групп обсуждений. Any search on the Web for «office developer forum» reveals several discussion groups. Можно поискать «разработка Office» или описание проблемы и найти нужные форумы, блоги и статьи. You can search on «office development» or a description of your problem to discover forums, blog posts, and articles as well.

Если сделано все, что возможно, для решения проблемы, не бойтесь задать вопрос на форуме разработчиков. If you have done everything that you can to solve a problem, do not be afraid to post your question to a developers forum. В таких форумах приветствуются вопросы от новичков-программистов, и многие опытные разработчики с радостью помогут им. These forums welcome posts from newer programmers and many of the experienced developers are glad to help.

Далее описаны некоторые вопросы этикета, которых следует придерживаться при публикации на форуме разработчиков. The following are a few points of etiquette to follow when you post to a developer forum:

Перед публикацией поищите на сайте часто задаваемые вопросы или инструкции, которые следует соблюдать. Before you post, look on the site for an FAQ or for guidelines that members want you to follow. Убедитесь, что публикация соответствует этим инструкциям и расположена в нужном разделе форума. Ensure that you post content that is consistent with those guidelines and in the correct section of the forum.

Представьте ясный и полный пример кода, и если он является частью более сложного кода, укажите это. Include a clear and complete code sample, and consider editing your code to clarify it for others if it is part of a longer section of code.

Опишите проблему четко и кратко и укажите действия, выполненные для решения проблемы. Describe your problem clearly and concisely, and summarize any steps that you have taken to solve the problem. Не спешите и напишите вопрос, как можно лучше, даже если вы взволнованны или вам не хватает времени. Take the time to write your post as well as you can, especially if you are flustered or in a hurry. Опишите ситуацию так, чтобы читатели поняли ее после первого прочтения. Present the situation in a way that will make sense to readers the first time that they read the problem statement.

Будьте вежливы и выражайте благодарность за все ответы. Be polite and express your appreciation.

Более подробное изучение программирования Going further with programming

Хотя это короткая статья, и в ней представлена лишь малая часть сведений о VBA и программировании, надеюсь, ее будет достаточно для начала. Although this article is short and only scratches the surface of VBA and programming, it is hopefully enough to get you started.

В этом разделе кратко описываются некоторые другие важные темы. This section briefly discusses a few more key topics.

Переменные Variables

В примерах в этой статье использовались объекты, которые уже создало приложение. In the simple examples in this article you manipulated objects that the application had already created. Иногда требуется создать собственные объекты для хранения значений или ссылок на другие объекты. You might want to create your own objects to store values or references to other objects for temporary use in your application. Они называются переменными. These are called variables.

Чтобы использовать переменную в VBA, необходимо сообщить VBA, какой тип представляет переменная, с помощью оператора Dim. To use a variable in VBA, must tell VBA which type of object the variable represents by using the Dim statement. Затем задается значение переменной, и она используется для установки других переменных и свойств. You then set its value and use it to set other variables or properties.

Ветвление и циклы Branching and looping

В примерах простых программ в этой статье код выполняется строка за строкой, сверху вниз. The simple programs in this article execute one line at a time, from the top down. Реальные возможности программирования состоят в том, что можно определять, какие строки кода выполнять, в зависимости от одного или нескольких указанных условий. The real power in programming comes from the options that you have to determine which lines of code to execute, based on one or more conditions that you specify. Эти возможности можно расширить, если повторять операцию нужное количество раз. You can extend those capabilities even further when you can repeat an operation many times. Например, приведенный ниже пример кода расширяет Макрос1. For example, the following code extends Macro1.

Введите или вставьте код в редакторе Visual Basic и запустите его. Type or paste the code into the Visual Basic Editor and then run it. Следуйте инструкциям в появившемся окне сообщений и измените текст в ячейке A1 с «Wow!» Follow the directions in the message box that appears and change the text in cell A1 from Wow! на «Yes!», to Yes! а затем выполните программу еще раз, чтобы ознакомиться с возможностями циклов. and run it again to see the power of looping. В этом примере кода показаны переменные, ветвление и циклы. This code snippet demonstrates variables, branching and looping. Просмотрите его внимательно после выполнения и попробуйте определить, что происходит после выполнения каждой строки. Read it carefully after you see it in action and try to determine what happens as each line executes.

Все приложения на вкладке «Мой Office»: примеры кода All of my Office applications: example code

Вот несколько скриптов, которые можно попробовать. Каждый из них решает реальную задачу Office. Here are a few scripts to try; each solves a real-world Office problem.

Создание электронной почты в Outlook Create an email in Outlook

Помните, что бывают случаи, когда нужно автоматизировать электронную почту в Outlook или использовать шаблоны. Be aware that there are situations in which you might want to automate email in Outlook; you can use templates as well.

Удаление пустых строк на листе Excel Delete empty rows in an Excel worksheet

Помните, что можно выбрать столбец ячеек и запустить этот макрос, чтобы удалить все строки в выбранном столбце с пустыми ячейками. Be aware that you can select a column of cells and run this macro to delete all rows in the selected column that have a blank cell.

Удаление пустых текстовых полей в PowerPoint Delete empty text boxes in PowerPoint

Имейте в виду, что в коде выполняется цикл по всем слайдам и удаляются все текстовые поля, в которых нет текста. Be aware that this code loops through all of the slides and deletes all text boxes that do not have any text. Переменная-счетчик уменьшается, а не увеличивается, так как при каждом удалении объекта он удаляется из коллекции, что уменьшает счетчик. The count variable decrements instead of increments because each time the code deletes an object, it removes that object from the collection, which reduces the count.

Копирование контакта из Outlook в Word Copy a contact from Outlook to Word

Обратите внимание, что этот код копирует открытый контакт из Outlook в открытый документ Word. Be aware that this code copies the currently open contact in Outlook into the open Word document. Этот код работает, только если в Outlook открыт контакт. This code only works if there is a contact currently open for inspection in Outlook.

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

Adblock
detector