Newcomposers.ru

IT Мир
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программирование в vba word

Программирование на VBA в Word

Форматирование документа

Наиболее важной особенностью работы на VBA в Word является вставка текста в документ при работе с приложениями. Для этого служат объекты Range и Selection, которые являются главными для практически любых операций, которые можно выполнять с помощью Word VBA. Некоторые из этих действий можно применять к документам в целом, но в общем случае вам необходим диапазон или выделенная область, прежде чем вносить изменения. Мы, однако, рассмотрим действия с документом при его создании.

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

Причем данная строка будет расположена в конце существующего параграфа. С другой стороны, используя объект Selection, можно также вставить некоторый текст в документ, используя метод Add и присвоение свойства Text объекту Selection:

If Documents.Count = 0 Then Documents.Add
Selection.Text = «Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, « + TextBox1.Text +», и отвечает запросам всех программистов!»

В результате выполнения данного программного кода в документе Word будет выведена строка: “Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, Светлана, и отвечает запросам всех программистов!”.

Описание процедур

Private Sub CommandButton1_Click()
If Documents.Count = 0 Then Documents.Add
Selection.Text = «При прохождении тока напряжением в » + TextBox1.Text + «вольт попроводнику длиной » + TextBox4.Text + » метров, сечением » + TextBox3.Text + «кв. мм и удельным сопротивлением » + TextBox5.Text + » Ом*мм^2/м за » + TextBox2.Text + » секунд выделится » + TextBox6.Text + « джоулей теплоты»
Selection.Collapse direction:=wdCollapseEnd
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub scet()
If IsNumeric(TextBox1.Text) = True And
IsNumeric(TextBox2.Text) = True And
IsNumeric(TextBox3.Text) = True And
IsNumeric(TextBox4.Text) = True And
IsNumeric(TextBox5.Text) = True And Not Val(TextBox4.Text) = 0 And Not Val(TextBox5.Text) = 0 Then rez = ((Val(TextBox1.Text) ^ 2) * Val(TextBox2.Text) * Val(TextBox3.Text)) / (Val(TextBox4.Text) * Val(TextBox5.Text))
TextBox6.Text = Str$(rez)
CommandButton1.Enabled = True
Else
TextBox6.Text = «»
CommandButton1.Enabled = False
End If
End Sub

При работе с текстом на рабочем листе Word необходимо знать следующие коды:

определение цвета
Selection.Font.Color =
wdColorRed – красный
wdColorDarkRed – бордовый
wdColorDarkTeal – бирюзовый
wdColorBlue – синий
wdColorGreen – зеленый
wdColorBlack – черный
wdColorOrange – оранжевый

определение жирности
Selection.Font.Bold =
wdToggle – жирность

определение начертания
Selection.Font.Italic=
wdToggle – курсив

определение выравнивания
Selection.ParagraphFormat.Alignment=
wdAlignParagraphRight – выравнивание по правому краю
wdAlignParagraphCenter – выравнивание по центру
wdAlignParagraphJustify – выравнивание по левому краю

вставка в текст конкретного предложения
Selection.TypeText Text:=»Пример работы с текстом»
вставка новой пустой строки
Selection.TypeParagraph
установка размера букв
Selection.Font.Size = 14

Одним из элементов оформления диалоговых окон является элемент управления Image (рисунок). Его основные свойства:

Autosize – изменяет размер рисунка на форме (автоматически или нет);

Picture – отображает графический файл, выводимый на форму;

pictureSizeMode – устанавливает масштабирование рисунка (не весь рисунок, вся поверхность объекта, целиком внутри объекта);

PictureAligment – устанавливает расположение рисунка внутри объекта (слева, справа, вверху, внизу);
pictureTilling – покрывает объект мозаикой из рисунка.

Данные свойства либо устанавливаются в окне свойств объекта, либо прописываются в листинге.

Примечание. При работе данного приложения все значения полей ввода должны быть числовыми. В VBA есть специальная функция для проверки того, является или нет введенная строка записью числа – IsNumeric. Для проверки отличия от нуля значений в последних двух полях ввода используется функция Val, которая переводит строковое выражение в числовое, если это строковое выражение содержит в своем начале цифры (или все состоит из них).

Функция Str делает преобразование, обратное тому, что производит Val, – конвертирует числовое значение выражения в строковое, что позволяет этому значению в дальнейшем обрабатываться как строке.

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

Создание кнопки или панели в Word

Назначить форме кнопку или пункт меню для непосредственного вызова приложения из Word нельзя – это можно сделать только для модулей. Поэтому нужно применить следующий способ. Создайте макрос (Меню + Insert + Module) в открытом проекте:

Переименуйте этот макрос по своему усмотрению, например Teplo. И выполните следующие действия:

1. Щелкните правой кнопкой мыши в любом месте панели инструментов.

2. В этом меню выберите команду Настройка (или Сервис + Настройка).

3. В диалоговом окне Настройка щелкните на ярлыке вкладки Команды.

4. Прокрутите список Категории вниз и найдите пункт Макросы. Выберите этот пункт. В списке «Сохранить в» выберите имя вашего документа, в котором создан макрос.

5. В правом окне найдите необходимый макрос (либо VBA-программу).

6. Перетащите имя этого макроса или программы на панель инструментов.

7. Создайте соответствующую надпись кнопки и, если нужно, рисунок (при помощи правой кнопки мыши).

8. Закройте диалоговое окно Настройка, чтобы завершить работу.

9. В результате будет создана кнопка запуска приложения.

Изучение элементов программирования на основе языка VBA в Microsoft Office Word

педагогические науки

  • Векслер Виталий Абрамович , кандидат наук, доцент, доцент
  • Саратовский государственный университет имени Н.Г. Чернышевского
  • ПРОГРАММИРОВАНИЕ
  • МАКРОС
  • MICROSOFT OFFICE
  • КУРС ИНФОРМАТИКИ

Похожие материалы

Программы обучения студентов гуманитарных специальностей очень часто включают главы знакомства с элементами программирования. Введение в курс обучения сред программирования очень часто вызывают негативные реакции со стороны обучающихся, непонимающих, зачем им это нужно. В данном случае можно порекомендовать ознакомление с основами объектно-ориентированного программирования, на основе языка Microsoft Visual Basic for Applications (VBA).

Microsoft Visual Basic for Applications является встроенным языком программирования для приложений Microsoft Office (Word, Excel, Access, PowerPoint, Outlook, FrontPage, InfoPath), а также и для некоторых других системах (Microsoft Visio и Project, Corel- DRAW, CorelWordPerfect Office 2000, AutoCAD). Главной особенностью является то, что программировать студенты смогут непосредственно, через привычные им приложения Microsoft Word, Microsoft Excel и Microsoft PowerPoint. Изучение программирования будет строиться на автоматизации обработки тестов, числовых данных.

На страницах офисных документов для студентов организуется полноценная работа с программами, не создавая для этого отдельных Windows-форм, а просто разместив на странице поля ввода данных и показывая программно на той же странице результаты после изменения данных.

Базовым программным модулем становится макрос.

Макрос – программный скрипт (алгоритм действий), сохраненный в формате документа Office с поддержкой макросов. В настоящее время эта программа является процедурой, написанной на языке VBA.

Приведем примеры упражнений:

В тексте «Макроса1» (Sub Макрос1() – процедура языка VBA), используется объект «Selection» – место, где находится курсор в текущем документе.

Наберите текст «Макроса1» с комментариями:

Пример 2. Наберите в редакторе следующий макрос (Insert-Module)

‘Теперь бегаем по всем словам

Проверьте работу макроса. Исправьте код таким образом, чтобы макрос одновременно менял слова размером 12 пт. — на 13 пт, слова размером 14 пт. на 15 пт. и все полужирные слова делал курсивным.

Пример 3. Объясните смысл работы данного макроса:

Исправьте его таким образом, чтобы менялся цвет теста на зеленый.

Пример 4. Создайте два поля в текстовом документе. Вызовите конструктор. Введите приведенный ниже программный код (рис.1). Программа работает с тестовыми блоками, обращаясь к их свойству «Text». При вводе информации в первое поле, она дублируется во второе.

Пример 5. В одно из полей вводится числовое значение. Второе поле определяет числовое значение в первом и отнимает от него единицу. Организуйте проверку на правильность ввода данных. Так как в поля вводятся текстовые значения, используйте функцию CSng(Expression).» src=»https://novainfo.ru/files/7575/01.jpg»>Рисунок 1. /p>

Читать еще:  Программа для изменения pdf в word

Пример 5. В одно из полей вводится числовое значение. Второе поле определяет числовое значение в первом и отнимает от него единицу. Организуйте проверку на правильность ввода данных. Так как в поля вводятся текстовые значения, используйте функцию CSng(Expression).

Функция CSng(Conversion to Single) используется для приведения выражения в тип «Single». Функция CSng вернет значение «Expression», преобразованное в числовой длинный тип данных с плавающей запятой обычной точности «Single». Если «Expression» имеет тип данных «String», то он должен быть числом, иначе возникает ошибка стадии выполнения «Type mismasth». Если число знаков в дробной части «Expression» выходит за пределы допустимого значения диапазона «Single», CSng усекает ее

Конструкция VBScript «On Error Resume Next» включает обработку ошибок. Объект данной конструкции «Err» не нуждается в предварительном объявлении, и доступен всегда.

Его методы и свойства:

  • Description» — данное свойство содержит описание ошибки.
  • Number» — содержит целое число – номер ошибки. Если значение свойства «Number» ровно нулю – значит, ошибка отсутствует.
  • Source» — свойство содержит название приложения, в котором возникла ошибка.

Вариант решения приведен на рис. 2.

Пример 6. Организация вычислений на странице документа» src=»https://novainfo.ru/files/7575/02.jpg»>Рисунок 2. /p>

Пример 6. Организация вычислений на странице документа

Создайте три объекта типа «Поле» (первое слагаемое, второе слагаемое, сумма).

Для третьего поля в окне «Properties» зададим свойство «Enabled» равным «False», (для запрета редактирования пользователем). В результате после написания или изменения чисел в объектах «TextBox1» и «TextBox2» в поле «TextBox3» будет отображаться математическая сумма двух чисел.

Если в процедуре «Rez1» написать расчет без преобразования данных в числовое значение CSng(TextBox1.Text) или CSng(TextBox1.Value)), т. е. TextBox3 = TextBox1 + TextBox2, то вместо математической суммы получится сложение двух строковых значений.

Пример 7. Создание теста.

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

Установите на форме 2 элемента «Chekbox» (рис. 3).

Рисунок 3.

Вызовите свойства объектов (рис. 4).

Рисунок 4.

Измените свойство «Caption» отвечающее за текстовый комментарий на форме на «Текстовый редактор» и «Электронные таблицы» соответственно (рис.5.).

Рисунок 5.

Добавьте третий «Checkbox» — «Caption»: «Операционная система» и кнопку – «Caption»: «Результат» (рис.6).

Рисунок 6.

Ниже приведен программный код для кнопки «Результат», проверяющий правильность ответа:

Добавим вопрос типа «верно/неверно»: «Языки программирования бывают высокого, среднего и низкого уровней».

Установим две кнопки «OptionButton» (переключатели), изменим свойства «Caption» у каждой на варианты: «Верно» и «Неверно» (рис.7).

Рисунок 7.

Для того чтобы установленные объекты работали, именно как переключатели (т.е. возможен выбор только одного из них), они должны принадлежать одной группе. В свойствах каждого установим значение «GroupName – 1» (рис. 8).

Рисунок 8.

Изменим код, дополнив его обработкой выбранного переключателя:

Дополнительные задания для студентов:

  1. Создайте новый документ Word, в нем запустите запись макроса и напишите в документе, произвольный текст, выполните переход на начало текста, на конец текста, отбейте три пустых абзаца, выделите весь текст: измените шрифт, размер букв, примените несколько видоизмений. Сохраните макрос для данного документа. Запустите макрос на исполнение. Просмотрите текст макроса в окне Microsoft Visual Basic For Applications, скопировать его в свой отчет с подробным описанием того что каждая команда обозначает.
  2. Создайте в документе Word четыре поля для работы с данными (элементы ActiveX) следующего вида (рис.9):

Рисунок 9.

Для второго и третьего полей создайте, для события Change обращение к процедуре «Вычисление стоимости товара», которая будет присваивать четвертому полю значение произведения второго поля на третье, как показано выше. Для четвертого поля задайте значение свойства «Locked = True», чтобы оно стало недоступным для редактирования.

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

Список литературы

  1. Александрова Н. Организация самостоятельной деятельности студентов с применением ДО / С. Галаев, Н. Александрова, А. Букушева // Высшее образование в России. 2007. № 10. С. 141-143.
  2. Александрова Н.А. Концепция собственного образовательного стандарта прикладного бакалавриата по направлению подготовки 050100.62 «Педагогическое образование» (профиль «Информатика») / Н.А.Александрова, Е.В.Кудрина, М.В.Храмова, А.Г. Фёдорова // В сборнике: Компьютерные науки и информационные технологии Материалы Международной научной конференции. Ответственные за выпуск: Т.В. Семенова, А.Г. Федорова. 2014. С. 19-23.
  3. Александрова Н.А. Об использовании технологических средств и информационно-коммуникационных технологий в инклюзивном обучении студентов / Н.А. Александрова, Е.А. Гаврилова // В сборнике: Информационные технологии в образовании Материалы VI Всероссийской научно-практической конференции. Саратовский государственный университет имени Н.Г. Чернышевского. 2014. С. 61-63.
  4. Векслер В.А. Принципы регулирования рынка образовательных услуг // Л.Б. Рейдель, В.А. Векслер Правовая политика и правовая жизнь. 2013. № 2. С. 36-41.
  5. Векслер В.А. Содержание и организация обучения взрослых основам информационных технологий в системе дополнительного образования: региональный аспект // диссертация на соискание ученой степени кандидата педагогических наук / Амур. гуманитар.-пед. гос. ун-т. Комсомольск-на-Амуре, 2009

Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

Соучредители СМИ: Долганов А.А., Майоров Е.В.

Создание приложений на языке VBA для MS WORD

Microsoft Office – одна из самых популярных программных систем, используемых во всем мире.

Трудно найти компьютер, на котором не был бы установлен текстовый редактор Word. Представляя собой систему приложений, тесно связанных друг с другом, MS Office открывает перед своими пользователями самый широкий спектр возможностей.

Мощнейшим средством создания приложений в MS Office стал язык Visual Basic for Application (VBA). Он пришел на смену языкам макропрограммирования, которые обычно включались в приложения.

VBA — высокоэффективное средство разработки приложений, поскольку принадлежит к объектно-ориентированным языкам программирования и обладает простотой макроязыков. Начинающие программировать в офисных пакетах пользователи могут записать свои действия с помощью макрорекордера и создавать макросы без изучения особенностей языка. Такая запись действий, а затем просмотр записанного кода являются простейшим способом для самостоятельного изучения VBA.

Попробуй обратиться за помощью к преподавателям

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

Остановимся на вопросах разработки VBA-приложений для MS Word. С помощью VBA вы можете автоматизировать любые операции, выполняемые в Word интерактивно (то есть вручную): создание документов, добавление в них текста или других графических элементов, форматирование, редактирование, сохранение и т.д. VBA выполнит все эти операции быстрее, точнее и с меньшими затратами, чем человек.

В MS Word создается много документов типа справка, расписка, докладная записка и так далее. Эти документы имеют постоянную и переменную части. Создание таких документов можно упростить, используя язык программирования VBA.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

Создание текстового документа

Рассмотрим пример создания справки в MS Word 2007.

Создадим документ Word и сохраним его с именем spravka.docx.

В случае отсутствия на ленте вкладки Разработчик создайте её с помощью команды — Параметры Word-Личная настройка. В группе Основные параметры работы с Word установите флажок в пункте Показать вкладку Разработчик на ленте.

Создать макрос1 с помощью макрорекордера. Макрос1 создает текст документа «СПРАВКА»:

  • выполнить команду Разработка, Макрос, Запись макроса;
  • в поле Имя макроса оставить Макрос1. В поле Макрос доступен для: выбрать имя данного документа spravka.docx. Нажать кнопку ОК;
  • набрать текст документа «СПРАВКА» с нужными параметрами абзаца и шрифта;
  • остановить запись макроса кнопкой Останов в закладке Код-Разработчик.
Читать еще:  Приложению word не удалось отобразить нужный

Проверить работу макроса запустив его на исполнение командой: Разработчик, Макросы, Макрос1, Выполнить.

Создадим Макрос2 с помощью макрорекордера. Макрос2 выполняет очистку содержимого документа (Выделить все $$, клавиша Delete).

Создадим панель быстрого доступа для spravka.docx с кнопками для запуска макросов.

Для этого необходимо:

  • выбрать пункт меню Параметры Word-Настройка;
  • в окне Настройка панели быстрого доступа и сочетаний клавиш на вкладке Выбрать команду из выбрать пункт Макросы, а на вкладке Настройка панели быстрого доступа выбрать пункт Для Spravka;
  • в том же диалоговом окне команд Макросы выделить команду Макрос1 и добавить в панель быстрого доступа для документа Spravka. Аналогично добавить команду Макрос2;
  • изменить надпись или значок на кнопке, назначенной макросу Изменить…, изменить кнопку и отображаемое имя (например, Справка), выбрать новый значок для кнопки, несколько изменить его и назначить макрос (Макрос1) этой кнопке;
  • аналогично изменить надпись и кнопку для вызова еще одного макроса (Макрос2), например Очистка документа.

Выполнить макросы, используя кнопки панели быстрого доступа для Spravka.

Сохранить документ на диске в личной папке в файле с именем spravka.doc с типом файла «Документ Word с поддержкой макросов».

Для выхода из Word выберите из меню Выход из Word.

Использование VBA при решении задач в Word

VBA поддерживает набор объектов, соответствующих элементам 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 Предыдущая статья

Изучение элементов программирования на основе языка VBA в Microsoft Office Word

педагогические науки

  • Векслер Виталий Абрамович , кандидат наук, доцент, доцент
  • Саратовский государственный университет имени Н.Г. Чернышевского
  • ПРОГРАММИРОВАНИЕ
  • МАКРОС
  • MICROSOFT OFFICE
  • КУРС ИНФОРМАТИКИ

Похожие материалы

Программы обучения студентов гуманитарных специальностей очень часто включают главы знакомства с элементами программирования. Введение в курс обучения сред программирования очень часто вызывают негативные реакции со стороны обучающихся, непонимающих, зачем им это нужно. В данном случае можно порекомендовать ознакомление с основами объектно-ориентированного программирования, на основе языка Microsoft Visual Basic for Applications (VBA).

Microsoft Visual Basic for Applications является встроенным языком программирования для приложений Microsoft Office (Word, Excel, Access, PowerPoint, Outlook, FrontPage, InfoPath), а также и для некоторых других системах (Microsoft Visio и Project, Corel- DRAW, CorelWordPerfect Office 2000, AutoCAD). Главной особенностью является то, что программировать студенты смогут непосредственно, через привычные им приложения Microsoft Word, Microsoft Excel и Microsoft PowerPoint. Изучение программирования будет строиться на автоматизации обработки тестов, числовых данных.

На страницах офисных документов для студентов организуется полноценная работа с программами, не создавая для этого отдельных Windows-форм, а просто разместив на странице поля ввода данных и показывая программно на той же странице результаты после изменения данных.

Базовым программным модулем становится макрос.

Макрос – программный скрипт (алгоритм действий), сохраненный в формате документа Office с поддержкой макросов. В настоящее время эта программа является процедурой, написанной на языке VBA.

Приведем примеры упражнений:

В тексте «Макроса1» (Sub Макрос1() – процедура языка VBA), используется объект «Selection» – место, где находится курсор в текущем документе.

Наберите текст «Макроса1» с комментариями:

Пример 2. Наберите в редакторе следующий макрос (Insert-Module)

‘Теперь бегаем по всем словам

Проверьте работу макроса. Исправьте код таким образом, чтобы макрос одновременно менял слова размером 12 пт. — на 13 пт, слова размером 14 пт. на 15 пт. и все полужирные слова делал курсивным.

Пример 3. Объясните смысл работы данного макроса:

Исправьте его таким образом, чтобы менялся цвет теста на зеленый.

Пример 4. Создайте два поля в текстовом документе. Вызовите конструктор. Введите приведенный ниже программный код (рис.1). Программа работает с тестовыми блоками, обращаясь к их свойству «Text». При вводе информации в первое поле, она дублируется во второе.

Пример 5. В одно из полей вводится числовое значение. Второе поле определяет числовое значение в первом и отнимает от него единицу. Организуйте проверку на правильность ввода данных. Так как в поля вводятся текстовые значения, используйте функцию CSng(Expression).» src=»https://novainfo.ru/files/7575/01.jpg»>Рисунок 1. /p>

Пример 5. В одно из полей вводится числовое значение. Второе поле определяет числовое значение в первом и отнимает от него единицу. Организуйте проверку на правильность ввода данных. Так как в поля вводятся текстовые значения, используйте функцию CSng(Expression).

Функция CSng(Conversion to Single) используется для приведения выражения в тип «Single». Функция CSng вернет значение «Expression», преобразованное в числовой длинный тип данных с плавающей запятой обычной точности «Single». Если «Expression» имеет тип данных «String», то он должен быть числом, иначе возникает ошибка стадии выполнения «Type mismasth». Если число знаков в дробной части «Expression» выходит за пределы допустимого значения диапазона «Single», CSng усекает ее

Конструкция VBScript «On Error Resume Next» включает обработку ошибок. Объект данной конструкции «Err» не нуждается в предварительном объявлении, и доступен всегда.

Его методы и свойства:

  • Description» — данное свойство содержит описание ошибки.
  • Number» — содержит целое число – номер ошибки. Если значение свойства «Number» ровно нулю – значит, ошибка отсутствует.
  • Source» — свойство содержит название приложения, в котором возникла ошибка.

Вариант решения приведен на рис. 2.

Пример 6. Организация вычислений на странице документа» src=»https://novainfo.ru/files/7575/02.jpg»>Рисунок 2. /p>

Пример 6. Организация вычислений на странице документа

Создайте три объекта типа «Поле» (первое слагаемое, второе слагаемое, сумма).

Для третьего поля в окне «Properties» зададим свойство «Enabled» равным «False», (для запрета редактирования пользователем). В результате после написания или изменения чисел в объектах «TextBox1» и «TextBox2» в поле «TextBox3» будет отображаться математическая сумма двух чисел.

Если в процедуре «Rez1» написать расчет без преобразования данных в числовое значение CSng(TextBox1.Text) или CSng(TextBox1.Value)), т. е. TextBox3 = TextBox1 + TextBox2, то вместо математической суммы получится сложение двух строковых значений.

Пример 7. Создание теста.

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

Установите на форме 2 элемента «Chekbox» (рис. 3).

Рисунок 3.

Вызовите свойства объектов (рис. 4).

Рисунок 4.

Измените свойство «Caption» отвечающее за текстовый комментарий на форме на «Текстовый редактор» и «Электронные таблицы» соответственно (рис.5.).

Рисунок 5.

Добавьте третий «Checkbox» — «Caption»: «Операционная система» и кнопку – «Caption»: «Результат» (рис.6).

Рисунок 6.

Ниже приведен программный код для кнопки «Результат», проверяющий правильность ответа:

Добавим вопрос типа «верно/неверно»: «Языки программирования бывают высокого, среднего и низкого уровней».

Установим две кнопки «OptionButton» (переключатели), изменим свойства «Caption» у каждой на варианты: «Верно» и «Неверно» (рис.7).

Рисунок 7.

Для того чтобы установленные объекты работали, именно как переключатели (т.е. возможен выбор только одного из них), они должны принадлежать одной группе. В свойствах каждого установим значение «GroupName – 1» (рис. 8).

Рисунок 8.

Изменим код, дополнив его обработкой выбранного переключателя:

Дополнительные задания для студентов:

  1. Создайте новый документ Word, в нем запустите запись макроса и напишите в документе, произвольный текст, выполните переход на начало текста, на конец текста, отбейте три пустых абзаца, выделите весь текст: измените шрифт, размер букв, примените несколько видоизмений. Сохраните макрос для данного документа. Запустите макрос на исполнение. Просмотрите текст макроса в окне Microsoft Visual Basic For Applications, скопировать его в свой отчет с подробным описанием того что каждая команда обозначает.
  2. Создайте в документе Word четыре поля для работы с данными (элементы ActiveX) следующего вида (рис.9):

Рисунок 9.

Для второго и третьего полей создайте, для события Change обращение к процедуре «Вычисление стоимости товара», которая будет присваивать четвертому полю значение произведения второго поля на третье, как показано выше. Для четвертого поля задайте значение свойства «Locked = True», чтобы оно стало недоступным для редактирования.

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

Список литературы

  1. Александрова Н. Организация самостоятельной деятельности студентов с применением ДО / С. Галаев, Н. Александрова, А. Букушева // Высшее образование в России. 2007. № 10. С. 141-143.
  2. Александрова Н.А. Концепция собственного образовательного стандарта прикладного бакалавриата по направлению подготовки 050100.62 «Педагогическое образование» (профиль «Информатика») / Н.А.Александрова, Е.В.Кудрина, М.В.Храмова, А.Г. Фёдорова // В сборнике: Компьютерные науки и информационные технологии Материалы Международной научной конференции. Ответственные за выпуск: Т.В. Семенова, А.Г. Федорова. 2014. С. 19-23.
  3. Александрова Н.А. Об использовании технологических средств и информационно-коммуникационных технологий в инклюзивном обучении студентов / Н.А. Александрова, Е.А. Гаврилова // В сборнике: Информационные технологии в образовании Материалы VI Всероссийской научно-практической конференции. Саратовский государственный университет имени Н.Г. Чернышевского. 2014. С. 61-63.
  4. Векслер В.А. Принципы регулирования рынка образовательных услуг // Л.Б. Рейдель, В.А. Векслер Правовая политика и правовая жизнь. 2013. № 2. С. 36-41.
  5. Векслер В.А. Содержание и организация обучения взрослых основам информационных технологий в системе дополнительного образования: региональный аспект // диссертация на соискание ученой степени кандидата педагогических наук / Амур. гуманитар.-пед. гос. ун-т. Комсомольск-на-Амуре, 2009

Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

Соучредители СМИ: Долганов А.А., Майоров Е.В.

Практические примеры программирования для MS Word

12.1. Групповая обработка файлов

12.1.1. Условие

Предположим, у вас есть несколько сотен файлов в формате .docx и . docm . Например, с ними вы работали дома. Очевидно, что дома у вас установлен Office 2007. И вот, приходит время перенести эти материалы на рабочий компьютер. Вы обнаруживаете, что MS Office на рабочем месте так и не обновили, а на вопросы об обновлении отвечают неопределенно. К тому же, некоторые из ваших документов предназначаются для других пользователей с устаревшими версиями Office — поэтому локальная самостоятельная установка конвертера на вашем ПК проблему не решает. А раз так — у вас есть два пути. Первый — заниматься конверсией файлов в формат .doc вручную, и второй — поручить это дело Microsoft Word.

12.1.2. Решение

Добавим в Microsoft Word кнопку, обработчик нажатия которой содержит следующий код (листинг 12.1)

Как видите, алгоритм работы программы выглядит так:

  • Найти файл
  • Открыть его
  • Сохранить в новом формате
  • Закрыть

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

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

12.2. Копирование материалов нескольких документов в один

12.2.1. Условие

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

12.2.2. Решение

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

Здесь мы создаем новый документ, в который копируем содержимое остальных открытых документов. Цикл обхода всех объектов коллекции Documents , то есть открытых документов, позволяет получить доступ к каждому открытому документу. Однако, здесь не обойтись без проверки — мы должны обработать все открытые документы кроме того, в который копируем данные. Для этого прежде чем начать обработку, сравниваем имя целевого и текущего документа.

12.3. Разбиение одного документа на несколько

12.3.1. Условие

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

Разобъем активный документ на части, по 10 абзацев каждая, и сохраним каждую из частей в отдельном документе с именем такого вида:

12.3.2. Решение

Напишем макрос (листинг 12.3.), который имеет смысл хранить в глобальном шаблоне. Этот макрос будет работать с активным документом.

Здесь мы работаем с исходным документом, поабзацно копируя его содержимое в новый документ. В программе использована пара переменных-счетчиков. Одна служит для подсчета количества обработанных абзацев — она используется как индикатор для сохранения или создания очередного файла, а вторая выступает счетчиком номеров созданных файлов и участвует в создании имени файла.

Ссылка на основную публикацию
Adblock
detector