Тема. Макроси. Створення макросів в офісних програмах



Скачати 10,71 Kb.
Дата конвертації24.11.2018
Розмір10,71 Kb.
ТипУрок
  • Тема . Макроси. Створення макросів в офісних програмах.
  • 24/11/18
  • http://rznz.klasna.com/uk/site/ikt-11-klas.html
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Запис макросу, перейменовувати лист
  • 1.Натисніть кнопку Записати макрос на вкладці Розробник.
  • 2.Назвіть макрос Маскос2, перейменуйте Лист1 в Нове ім'я і натисніть кнопку Остановіть запис.
  • 3. На вкладці Розробник натисніть кнопку Макрос і виберіть Изменить, щоб відкрити редактор Visual Basic.
  • Код в редакторі Visual Basic повинен бути схожий на наступний код.
  • Практичний приклад №2
  • Чотири рядки коментарів в записаному макросі не вирішують жодних завдань, тож видаліть їх.
  • Наступний рядок використовує метод Select, щоб вибрати член Sheet1 (Лист1) об'єкта колекції Sheets.
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Завдання №3 Цикли
  • До цього моменту цей код дозволяє змінити ім'я лише одного листа. Можна додати по рядку для кожного перейменовувати листа, але що робити, якщо невідомо ні число листів, ні їх поточні імена?
  • У VBA є конструкція, звана циклом For Each і ідеально підходить для цього випадку. Цикл For Each перевіряє всі елементи в об'єкті колекції, такому як Worksheets, і може використовуватися для виконання дії (наприклад, зміни імені) над деякими або над всіма цими елементами.
  • Змінити макрос так, щоб він став схожий на наступний код.
  • Sub RenameWorksheets()
  • For Each myWorksheet In Worksheets
  • myWorksheet.Name = "New Name"
  • Next
  • End Sub
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • myWorksheet.Name = "New Name"
  • Увага!!! Помилка. Чому?
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Excel вимагає, щоб ім'я кожного аркуша у книзі було унікальним, але дана команда Excel присвоює всім листам одне і те ж ім'я.
  • Увага!!! Робимо зміни!
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Корисне перейменування
  • Макрос поступово наближається до того, що може дійсно вирішити проблему.
  • Тепер потрібно знайти спосіб витягувати дані з самих листів - конкретно з комірки B1 кожного аркуша - і поміщати ці дані в імена аркушів.
  • Увага!!!
  • Виконання цього коду для книги, яка містить листи з порожньою коміркою B1, призведе до помилки, так як значення властивості Value порожнього діапазону Range одно "" (порожній текстовий рядок), яке не є допустимим ім'ям аркуша.
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Перевірка порожніх комірок
  • Як зазначалося раніше, макрос призводить до помилки, якщо будь-яка з комірок B1 книги виявляється порожньою.
  • Замість ручної перевірки кожного аркуша можна запрограмувати макрос так, щоб ці дії виконувалися в ньому.
  • Перед рядком myWorksheet.Name додайте наступний рядок коду.
  • If myWorksheet.Range("B1").Value <> "" Then
  • А після рядка myWorksheet.Name додайте наступний текст.
  • End If
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Такий код називається інструкцією If ... Then. Інструкція If ... Then вказує Excel виконувати весь код між рядком If і рядком End If, але тільки при виконанні умови, наведеного в рядку If. Перевіряється умова, яка задана наступним рядком.
  • myWorksheet.Range("B1").Value <> ""
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Оголошення змінних
  • Внесемо деякі поліпшенням в макрос, використовуючи оголошення змінної myWorksheet.
  • Dim myWorksheet As Worksheet
  • Коментарі
  • Тепер макрос стане досить складним, якщо додати в нього кілька коментарів, які нагадують, що робить код.
  • Sub RenameWorksheets()
  • Dim myWorksheet As Worksheet
  • For Each myWorksheet In Worksheets
  • 'make sure that cell B1 is not empty
  • If myWorksheet.Range("B1").Value <> "" Then
  • 'rename the worksheet to the contents of cell B1
  • myWorksheet.Name = myWorksheet.Range("B1").Value
  • End If
  • Next
  • End Sub
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ
  • Щоб перевірити макрос, перейменуйте листи назад у Лист1, Лист2 і Ліст3 і видаліть вміст комірки B1 на одному або кількох аркушах. Виконайте макрос, щоб перевірити, що він перейменовує листи з текстом в комірці B1 і залишає недоторканими інші листи. Макрос працює для будь-якого числа листів, з будь-якою комбінацією заповнених і порожніх клітинок B1.
  • 24/11/18
  • Герасимович Л.Й. вчитель інформатики, ЗОШ №4, м. Краматорськ

Каталог: Files -> downloads
downloads -> Урок 2 Тема. Архітектура кам'яний літопис століть
downloads -> Уроках «Художньої культури»
downloads -> Науковий керівник : учитель стасюк о. С. Консультанти: батьки, бібліотекар, вчитель географії
downloads -> Реферат з основ корекційної педагогіки та спеціальної психології на тему: Психолого-педагогічна допомога сім'ям, які мають дітей з порушенням у розвитку
downloads -> Образотворче мистецтво
downloads -> Чернігівська міська централізована бібліотечна система
downloads -> Особливості розвитку культури Галицько – Волинської держави
downloads -> Визначні місця України краю незвіданих красот
downloads -> Розрахунок сил І засобів по ліквідації нс


Поділіться з Вашими друзьями:


База даних захищена авторським правом ©uchika.in.ua 2019
звернутися до адміністрації

    Головна сторінка