Как открыть vba на mac
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Включение или отключение макросов в Office для Mac
Excel для Microsoft 365 для Mac Word для Microsoft 365 для Mac PowerPoint для Microsoft 365 для Mac Excel 2021 для Mac Word 2021 для Mac PowerPoint 2021 для Mac Excel 2019 для Mac Word 2019 для Mac PowerPoint 2019 для Mac Excel 2016 для Mac Word 2016 для Mac PowerPoint 2016 для Mac Еще. Меньше
В целях предотвращения заражения системы вирусами, содержащимися в макросах, при попытке открытия документа с макросом по умолчанию в Office для Mac отображается предупреждающее сообщение. Это сообщение отображается независимо фактического наличия вируса в макросе. Отображение предупреждающего сообщения можно отключить, но в этом случае следует открывать документы только из известных и доверенных источников.
Какой Office для Mac Suite вы используете?
- Щелкните соответствующее меню Word, Excel или PowerPoint .
- Щелкните Настройки.
- Щелкните Безопасность & конфиденциальность
- Чтобы разрешить выполнение всех макросов, установите переключатель Включить все макросы .
Внимание: Это позволит выполнять все макросы, как хорошие, так и плохие, без каких-либо дополнительных предупреждений. Выберите этот параметр, только если вы уверены, что не будете открывать вредоносные или опасные файлы.
Word
- В меню Word выберите пункт Параметры.
- В разделе Личные параметры щелкните Безопасность .
- Выполните одно из следующих действий:
Необходимые действия
Включите макросы при открытии файлов
Снимите флажок Предупреждать перед открытием файла, содержащего макросы.
Примечание: Если отключить защиту от вирусов в макросах, возникает риск заражения, которое может привести к серьезному повреждению данных.
См. предупреждающее сообщение при открытии файла с макросом
Убедитесь, что флажок Предупреждать перед открытием файла, содержащего макросы установлен.
PowerPoint
- В меню PowerPoint выберите пункт Параметры.
- На панели инструментов щелкните Общие .
- Выполните одно из следующих действий:
Необходимые действия
Включите макросы при открытии файлов
Снимите флажок Включить защиту от макровирусов.
Примечание: Если отключить защиту от вирусов в макросах, возникает риск заражения, которое может привести к серьезному повреждению данных.
См. предупреждающее сообщение при открытии файла с макросом
Убедитесь, что флажок Включить защиту от макровирусов установлен.
Excel
- В меню Excel выберите пункт Параметры.
- В разделе Общий доступ и конфиденциальность щелкните Безопасность .
- Выполните одно из следующих действий:
Необходимые действия
Включите макросы при открытии файлов
Снимите флажок Предупреждать перед открытием файла, содержащего макросы.
Примечание: Если отключить защиту от вирусов в макросах, возникает риск заражения, которое может привести к серьезному повреждению данных.
См. предупреждающее сообщение при открытии файла с макросом
Убедитесь, что флажок Предупреждать перед открытием файла, содержащего макросы установлен.
Создание и удаление макроса в Excel для Mac
Чтобы автоматизировать повторяющиеся задачи одним щелчком мыши, используйте вкладку Разработчик в Excel для Mac для записи и запуска макроса. Кроме того, можно создать макрос с помощью редактор Visual Basic в Microsoft Visual Basic для приложений (VBA), написав собственный программный код. Макрос, который вы больше не используете, можно удалить.
Запись макроса
При записи макроса все необходимые действия записываются средством записи макроса. Такими действиями может быть ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматирование, выделение ячеек, строк или столбцов, а также выделение ячеек путем перетаскивания указателя мыши. Команды для записи, создания и удаления макросов доступны на вкладке ленты Разработчик.
- Если вкладка Разработчик недоступна, выполните перечисленные ниже действия, чтобы открыть ее.
- Выберите Excel >параметры >ленты & панели инструментов.
- В области Настройка лентывыберите Основные вкладки и выберите Разработчик.
- Нажмите кнопку Сохранить, а затем Excel параметры.
- На вкладке Разработчик нажмите кнопку Запись макроса.
Примечание: Чтобы создать макрос из VBE, щелкните Visual Basic. В окне кода модуля введите код макроса.

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

- На вкладке Разработчик нажмите кнопку Макросы.
- Выберите в списке макрос, который требуется удалить, и нажмите кнопку «Удалить».
Как управлять презентациями Microsoft PowerPoint с помощью VBA
Данный материал основан и доработан по материалам оригинальной статьи «EasyTweaks — How to create and add slides to PowerPoint presentations with VBA».
Существует ли способ автоматизировать создание презентаций PowerPoint с нуля с последующим быстрым добавлением слайдов к существующей презентации? Мы подумали, что данную задачу для PowerPoint вполне под силу решить с помощью макросов. Однако, как известно, PowerPoint не включает средство записи макросов Macro Recorder (в отличие от Excel и Word, которые имеют встроенные средства записи макросов). Поэтому у нас остаётся лишь старый добрый Visual Basic for Application (VBA), который мы можем использовать для создания простых макросов для автоматизации PowerPoint. Разумеется, существуют и альтернативные варианты автоматизации PowerPoint, но они выходят за рамки данной статьи.
В этом кратком руководстве мы рассмотрим три различных варианта использования:
- Создание новой презентации (пустой или по шаблону);
- Добавление слайдов к существующей презентации;
- Сочетание двух предыдущих вариантов.
Создайте презентацию PowerPoint и сохраните ее с возможностью выполнения макросов (файл с расширением *.pptm).

Посмотрите на Ленту (Ribbon). Если в Ленте нет вкладки «Разработчик» (Developer), то перед началом написания кода необходимо включить эту вкладку (меню ленты File — Options).

Далее во вкладке Trust Center, включите возможность выполнения макросов в PowerPoint.

После того, как вы сделаете вкладку «Разработчик» (Developer) видимой для вашей ленты, перейдите на эту вкладку и нажмите кнопку Visual Basic (или просто нажмите Alt + F11), чтобы открыть Visual Basic IDE.

Макрос VBA для создания презентации и добавления слайдов
В редакторе Visual Basic щелкните правой кнопкой мыши VBAProject и выберете пункт вставки модуля (Insert > Module).

Вставьте следующий код во вновь созданный модуль:
Sub CreatePres_AddSlides() Dim NewPres as Presentation Dim NewSlide as Slide Set NewPres = Presentations.Add NewPres.SaveAs("MyPresentation.pptx") ' Title Slide Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle) 'This statement adds a blank slide in the second place Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank) 'Save the new PowerPoint file NewPres.SaveAs("MyPresentation.pptx") End SubНажмите в меню File, а затем Save… При сохранении следует выбрать формат с поддержкой макросов (*.pptm):

Чтобы запустить код, нажмите Run, а затем выберите Run Sub/UserForm (или просто F5).

В итоге мы увидим созданный и открытый файл презентации.

Теперь редактор Visual Basic можно закрыть.
Как создавать и вставлять Фигуры (Shapes) в PowerPoint с помощью VBA
Захотелось автоматизировать довольно обыденную задачу по созданию слайдов PowerPoint. При автоматизации PowerPoint вы обычно работаете с коллекцией слайдов и фигур. Слайды говорят сами за себя, а фигуры — это почти все остальное, включая текстовые поля, кнопки действий, медиа-объекты, метки, изображения, выноски, блок-схемы и т.д.. Хотя мы будем демонстрировать приемы работы с PowerPoint, часть синтаксиса на самом деле вполне применима к Microsoft Word и Excel.
Приступим к работе с фигурами. Во-первых, давайте продолжим и откроем редактор VBA, нажав Alt + F11. Если вы следовали предыдущему руководству, у вас должен быть Module1 в вашем списке модулей.
Добавление текстового поля через VBA
Начнем с добавления вертикального текстового поля к нашему первому слайду презентации. Добавьте следующий код в Module1 , затем нажмите кнопку Сохранить (Ctrl + S) и запустите макрос (пункт меню Run Sub/User Form или просто нажмите F5).
Sub CreateTextBox() Set MySlide = ActivePresentation.Slides(2) With MySlide.Shapes .AddTextbox(Orientation:=msoTextOrientationVertical, _ Left:=90, Top:=200, Width:=80, Height:=200).TextFrame.TextRange.Text = ("Это моё вертикальное тестовое поле") End With End Sub
Обратите внимание, что вы можете довольно легко изменить размер текстового поля с помощью VBA. В этом случае мы изменим размер первой фигуры на втором слайде, свободно меняйте код при необходимости.
Sub ResizeText() Set MyShape = ActivePresentation.Slides(2).Shapes(1) 'Add your required dimensions as needed below With MyShape .Width = 200 .Height = 35 End With End Sub
Текстовые эффекты PowerPoint с VBA
Давайте теперь предположим, что мы хотим добавить текстовое поле ко всем слайдам в презентации, на этот раз немного более визуально привлекательное. Для этого мы будем использовать VBA для создания пользовательских текстовых эффектов, которые мы можем встроить в один или несколько слайдов презентации. Сначала мы пройдемся по слайдам презентации, а затем добавим текстовый эффект по мере необходимости.
Sub SetEffects() Dim i As Integer For i = 1 To ActivePresentation.Slides.Count ActivePresentation.Slides(i) _ .Shapes.AddTextEffect msoTextEffect12, "Проба пера", _ "Segoe UI", 32, msoTrue, msoTrue, 650, 50 Next End SubПосмотрим, что получилось:

Обратите внимание, что вы можете использовать простой водяной знак для достижения этого конкретного результата.
Выноски PowerPoint с VBA
В нашем следующем примере мы добавим выноску ко второму слайду презентации.
Sub CreateCallout() ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "Моя выноска" End Sub
Создание презентации PowerPoint из книги Excel
Рассмотрим ещё один случай, когда вы хотите создать презентацию PowerPoint прямо из электронной таблицы Excel. Вы можете использовать аналогичный метод в Word и других приложениях Microsoft Office.
Данный пример демонстрирует возможность вызова другого приложения MS Office из первоначально запущенного приложения (прим. пер.).
Сперва создайте новую книгу Excel и сохраните ее как книгу с макросами (файл с расширением *.xlsm).

Войдите в редактор Visual Basic Editor (меню ленты Developer > Visual Basic, либо сочетанием клавиш Alt+F11)

В редакторе VBE свяжите электронную таблицу с моделью данных PowerPoint, выбрав в меню (Tools > References), Microsoft PowerPoint Object Library.


Вставьте новый модуль VBA для внесения кода процедуры Visual Basic.

Вставьте приведенный ниже код VBA непосредственно в модуль VBA и нажмите иконку Save.
(При необходимости, вы можете внести свои изменения в сценарий.)
Sub CreatePresentationFromExcel() ' Dim MyPPt As PowerPoint.Application Dim NewPres As PowerPoint.Presentation Dim NewSlide As Slide Set MyPPt = CreateObject("PowerPoint.Application") ' Set NewPres = MyPPt.Presentations.Add Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle) ' End Sub
Вставьте кнопку прямо в электронную таблицу Excel (меню Developer > Insert, а затем выберите Button (Form Control)).

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

Нажмите кнопку и проверьте результат.
