Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Все, что вы хотели знать о написании скриптов для JFW, 7 страница



операторов, таких, как те, которые были перечислены выше. Он

спрашивает, является ли истинным либо первое, либо второе

условие. Выражение в целом оценивается как истинное, если любое

выражение на любой стороне от оператора || является истинным.

Таким образом, в примере (A == B) || (C == D), значение истины

возвращается, либо если A равно B, либо если C равно D. Конечно,

истина будет возвращена и в том случае, если верными будут оба

выражения.

 

Здесь самое место познакомить вас с соглашением, которого придерживаются

некоторые программисты, когда используют логические операторы. Иногда

Иногда вы можете увидеть утверждение, которое выглядит так, как

утверждение, помещенное ниже.

 

!Выражение ==True

 

где выражением может быть переменная или функция. Пожалуйста, обратите

внимание, что в начале слова Выражение имеется восклицательный знак. По

сути дела этот восклицательный знак означает, что мы хотим использовать

противоположное выражение, и что следовательно вышеприведенное

выражение будет эквивалентно выражению Выражение == False. Таким

образом, восклицательный знак имеет своим эффектом инвертирование логики

утверждения.

 

Поразрядные операторы

 

Поразрядные операторы - это инструмент, который позволяет нам сравнить

два фрагмента данных скорее необычным способом. Они позволяют нам

сравнить два фрагмента информации байт за байтом, а не значения в целом.

Все мы знаем, что компьютерная информация хранится в цифровой форме,

как ряд нулей и единиц. ЭтО, конечно, верно для констант и переменных.

Например, константа Jaws для выбранного или выделенного текста называется

Attrib_highlight. Если вы заглянете в файл HJCONST.JSH, то вы обнаружите,

что эта константа имеет значение 64. Что же значит это 64? Очевидно, что

64 - это десятичное число, а не бинарное число. Мы можем это утверждать,

потому что бинарные числа состоят только из нулей и единиц, поэтому 64 не

может быть двоичным числом. Когда мы переведем 64 в двоичную систему

счисления, мы получим число 01000000. (Обсуждение двоичной арифметики

не входит в компетенцию данного руководства, поэтому если вы не знаете,

как было проведено преобразование, просто примите это на веру).

HJCONST.JSH также сообщает нам, что атрибут жирного шрифта, Attrib_Bold,

имеет значение 2 или 00000010 в двоичном формате, атрибут курсива,

Attrib_Italic, имеет значение 4 или 00000100 в двоичном формате, а атрибут



подчеркивания, Attrib_Underline, имеет значение 8 или 00001000 в двоичном

формате. Помните, как раньше мы говорили в этом руководстве, что

константы используются потому, что их легче запомнить, чем числа? Ну вот

вам и превосходный пример такой ситуации. Имена типа

ATTRIB_HIGHLIGHT гораздо легче запомнить, чем длинные двоичные числа.

 

Так что же мы будем делать с этими числами, и что они будут делать с

поразрядными операторами? Допустим, мы хотим знать, является ли некоторая

часть текста выделенной. Мы будем пользоваться одним из поразрядных

операторов, который обозначается одиночным символом & чтобы узнать это.

Этот поразрядный оператор позволяет нам взять переменную и сравнить ее,

бит за битом, с другой переменной или константой, такой, например, как

ATTRIB_HIGHLIGHT. Есть существенная разница между стандартным

сравнением и поразрядным сравнением двух фрагментов информации с

использованием оператора &. В стандартном сравнении значение True или 1,

будет возвращена, только если оба фрагмента информации являются

идентичными во всех отношениях. В поразрядном сравнении, использующем

оператор &, значение True или 1 будет возвращено для каждой пары битовых

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

Допустим, нам нужно сравнить два двоичных числа, 0101 и 0001. В

стандартном сравнении два эти числа не одно и то же. В поразрядном

сравнении правая цифра одна и та же для обоих чисел, поэтому для

поразрядного сравнения будет возвращено значение 0001. Этот возврат

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

правой позиции. Если бы нам надо было сравнить числа 0111 и 010, то мы

бы увидели, что вторая и третья позиции справа - единицы в обеих числах.

Следовательно, поразрядное значение возвратит значение 0110. Аналогичным

образом, 0011 и 0110 возвратят значение 0010. Только вторая цифра в обоих

числах является единицей. Мы можем проводить аналогичные сравнения, когда

одно из чисел является переменной,как, например, переменная, которая

сообщает атрибуты, которые ассоциированы с атрибутами текста в функции

скрипта NewTextEvent. (Вспомните, что функция NewTextEvent начинает

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

Следующая строка взята из этой функции:

 

If (nAttributes & ATTRIB_HIGHLIGHT) Then

 

На первый взгляд, это очень странное утверждение. Переменная nAttributes

является параметром, который вносит информацию об атрибуте в функцию

NewTextEvent, когда на экране появляется новый текст. Таким образом, если

этот текст выделен цветом, nAttributes будет иметь значение 01000000. Если

текст выделен жирным шрифтом, переменная будет иметь значение 00000010.

Если текст выделен курсивом и жирным шрифтом, nAttributes будет иметь

значение 00000110. Если он выделен цветом, курсивом и жирным шрифтом,

она будет иметь значение 01000110. Каждую позицию в nAttributes можно

представить в виде переключателя, который включает и выключает один из

возможных атрибутов. Ну, мы уже знаем, что ATTRIB_HIGHLIGHT имеет

значение 01000000, так что вышеприведенная строка кода говорит, что

возьмите nAttributes и сравните его, используя поразрядный оператор, с

константой Attrib_highlight. Если совпадение есть, верните назад сообщение 1

для каждого положения бита, которое совпадает. Если мы сравним, например,

текст, который является выделенным цветом, подчеркнутым и жирным

шрифтом (nAttributes = 01000110) поразрядным способом с ATTRIB_HIGHLIGHT

(01000000), то мы вернем значение 01000000. Это означает, что утверждение

If-Then возвращает значение True, или 1 для седьмой позиции справа, той,

которая указывает, является ли текст выделенным, и NewTextEvent узнала,

что текст, который появился на экране, действительно является выделенным.

Поэтому текст будет обрабатываться как выделенный текст. Тот факт, что

этот текст также выделен курсивом и жирным шрифтом также истинен, но

для данного теста это не имеет значения. Вышеприведенное утверждение

If-Then проверяет только то, является ли бит выделения истинным или 1, и

эта информация посылается в скрипт NewTextEvent.

 

Кроме того, есть еще один поразрядный оператор, который

выполняет операцию Или, вместо операции И. Этот оператор

обозначается единичным символом | чтобы отличить его оператора

Или, который обозначается двойным символом, ||. Когда вы

используете поразрядный оператор Или, значение True возвращается

в том случае, если любой из бит, или они оба, которые участвуют

в сравнении, равны единице. Таким образом, сравнение двух

бинарных чисел 0101 и 0010 вернет значение 0111. Аналогичным

образом, сравнение чисел 0100 и 0001 вернет значение 0101. Таким

образом, поразрядный оператор Или удовлетворяется, если любое из

чисел имеет 1 в конкретной позиции.

 

Hook функции

 

Иногда бывает необходимо перевести Jaws в измененное состояние,

когда некоторые, или все клавиши на клавиатуре выполняют

функции, которые отличаются от обычных. До некоторой степени мы

уже знакомы с этим понятием. Вы можете переключать такие

настройки, как Эхо экрана, эхо клавиатуры и состояние Home Row,

последний режим будет описан позже. Эти типы переключений

возможны потому, что Jaws имеет встроенные функции, которые

могут вызываться скриптами, чтобы переключать эти состояния

определенным образом. Однако, Jaws также содержит две функции,

которые позволяют вам изменять состояние системы сообразно вашим

нуждам. Это функции AddHook () и RemoveHook (). В общих чертах

происходит примерно следующее: если вы устанавливаете hook,

вызвав функцию AddHook () из скрипта, мы говорим, что hook

помещен. Когда вы используете функцию AddHook, вы даете ей имя

хука. Этот хук является специальной функцией, определяемой

пользователем, которую вы должны создать, и которая должна

выполняться вместо кода, обычно выполняемого скриптами Jaws.

Когда хук на месте, он вызывается прямо перед выполнением

каждого скрипта, и передает имя текущего скрипта и фрейма в

качестве двух своих параметров. Поскольку хук функция фактически

вызывается Jaws, когда он на месте, а не скриптом, эти параметры

предоставляются внутренним кодом Jaws, а не вызовом функции.

Если хук возвращает истину, скрипту разрешается выполняться.

Если хук возвращает ложь, скрипту не позволяется выполняться.

Таким образом, если хук на месте, и мы разработали хук таким

образом, что он будет возвращать ложь, пока он на месте, скрипт,

закрепленный за клавишей, которую мы нажали, работать не будет,

и мы можем заставить хук функцию сделать что-то другое. Вы

можете, если хотите, разработать хук, который будет заставлять

каждую клавишу, закрепленную за скриптом Jaws, воспроизводить "У

маленькой Мэри жила-была овечка" вместо того, чтобы выполнять

нормальные функции Jaws. Ну, сейчас в этом особой пользы нет, но

было бы здорово, если бы у вас был такой хук и вы бы его

включали всякий раз, когда вы позволяете своему другу

воспользоваться вашим компьютером! Но давайте рассмотрим более

полезную хук функцию, KeyboardHelpHook.

 

Как вы теперь, вероятно, знаете, вы можете включить помощь по

клавиатуре, нажав Insert+1. Когда вы это делаете, каждая клавиша

начинает воспроизводить свои функции, если она закреплена за

каким-либо скриптом Jaws, вместо того, чтобы реально выполнять

эти функции. Когда вы снова нажимаете Insert+1, клавиатура

возвращается к выполнению функций, вместо того, чтобы выдавать

описания. А вы когда-нибудь задумывались, как это сделано? А

сделано это с помощью хук функций. Давайте рассмотрим скрипт

KeyboardHelp и функцию KeyboardHelpHook чтобы посмотреть, как

выполняются эти задачи.

 

Script KeyboardHelp()

SayString (msg401); "Keyboard Help on". Сообщается, когда вы в

первый раз нажимаете Insert+1.

let nKeyboardHelpSavedTypingEcho =

GetJcfOption(OPT_TYPING_ECHO); сохраняет текущую настройку эха

клавиатуры.

SetJcfOption(OPT_TYPING_ECHO,1);Эхо клавиатуры символы. Помощи

по клавиатуре необходимо, чтобы эхо клавиатуры находилось в

режиме "символы".

AddHook (HK_SCRIPT, "KeyboardHelpHook");добавляет хук по имени KeyboardHelpHook.

TrapKeys(TRUE);юудучи истинной, эта функция заставляет Jaws

игнорировать любые клавиши, не закрепленные за скриптами

EndScript

 

Происходит следующее: озвучивается сообщение, оповещающее вас,

что помощь по клавиатуре включена, сохраняется текущее состояние

эха клавиатуры, эхо клавиатуры переводится в режим "Символы",

чтобы помощь по клавиатуре функционировала должным образом, и

устанавливается KeyboardHelpHook. Кроме того, TrapKeys

устанавливается в значении True, поэтому клавиши, не связанные

со скриптами Jaws, или фреймами, будут игнорироваться. (Вы не

можете назначить подсказку на клавишу, с которой не

ассоциировано скриптов Jaws или фреймов). Также, пожалуйста,

обратите внимание,что функция AddHook требует два параметра.

Первый, HK_SCRIPT, это константа, заданная в HJCONST.JSSH, вы

должны использовать для каждой AddHook. Второй - это имя хука,

который вы устанавливаете. Так что теперь любая клавиша,

связанная с функцией Jaws, не будет выполнять свою функцию, а

будет вызывать функцию KeyboardHelpHook, показанную ниже.

 

Void Function KeyboardHelpHook (string ScriptName, string FrameName)

if (ScriptName == "KeyboardHelp") then;если мы нажимаем

Insert+1 когда хук установлен, это означает, что мы хотим

выключить помощь по клавиатуре.

SayString(msg402); "Keyboard Help off"

RemoveHook

(HK_SCRIPT, "KeyboardHelpHook");хук удаляется

TrapKeys(FALSE);теперь клавиши снова будут распознаваться.

SetJcfOption(OPT_TYPING_ECHO,nKeyboardHelpSavedTypingEcho);

восстанавливается первоначальное состояние эха клавиатуры.

return FALSE;несмотря на то, что мы отключили хук, нам лучше

еще раз вернуть ложь, или скрипт Insert+1 запустится снова и

снова установит хук.

EndIf

Оставшаяся часть функции, как показано ниже, решает, что

говорить, в зависимости от того, привязана ли клавиша к клавише

или к скрипту, и нажата клавиша один раз или дважды. Внимательно

изучите этот код, пока не поймете его досконально. Если у вас

будут проблемы с пониманием if-then-else утверждений, прочитайте

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

и изучите этот скрипт снова.

 

if IsSameScript () then

if ((FrameName!= "") && (GetFrameDescription (FrameName)!= "")) then

SayString (msg420); "This frame "

SayString (GetFrameDescription (FrameName))

EndIf

if (FrameName == "") then

SayString(GetScriptDescription(ScriptName))

EndIf

else

SayString (GetCurrentScriptKeyName ()); says key name, "INSERT+UP ARROW"

if (FrameName!= "") then

SayString (msg421 + FrameName); "says the content of the frame "

SayString (GetFrameSynopsis (FrameName))

else

SayString (ScriptName); will say the name of the script, "SayLine"

SayString(GetScriptSynopsis(ScriptName))

EndIf

EndIf

return FALSE;Prevent the script from running since we only want the help message.

EndFunction

 

Знакомство с написанием скриптов

с объектами Microsoft

 

Если вам довелось прочитать какой-нибудь скрипт для Microsoft

Word или Excel, вы, вероятно, наталкивались на очень странный

код, который не похож ни на какие блоки построения скриптов, о

которых мы говорили до сих пор. Этот код содержит такие слова,

как Selection, Range, Text, Collapse, отделенные друг от друга

точками. Если вы не знакомы с объектно-ориентированным

программированием с использованием таких языков, как Visual

Basic и C++, этот тип кода будет совершенно непонятным. Так что

же это за штука и что она делает среди скриптов Jaws? Чтобы

пояснить, нам придется ввести три новых понятия - объекты,

методы и свойства.

 

Объект - это самостоятельный конструкт, который обладает в себе

некоторым числом характеристик или атрибутов, которые задаются

как свойства объекта. Объект также обладает некоторым числом

техник или функций, которые могут делать так, чтобы с объектом

что-нибудь происходило, или которые позволяют объекту выполнять

некоторое действие, и они называются методами объекта. Свойства

можно использовать, чтобы возвращать информацию об объекте

обратно во внешний мир, и они также могут использоваться для

изменения качеств или атрибутов объекта. Эту информацию можно

передать другому методу или свойству для дальнейшей обработки,

или обратно в язык скриптов Jaws, чтобы использоваться для

обработки скрипта. Таким образом, объект содержит в себе все

атрибуты и свойства, равно как и все процедуры или методы,

которые можно использовать, чтобы с объектом что-нибудь

произошло, или с их помощью можно вернуть из объекта информацию.

Определенные свойства предназначены и для чтения, и для записи,

что означает, что их можно как просматривать, так и изменять

некоторым заданным способом, некоторые свойства только для

чтения, что означает, что вы можете определить, что это за

свойство, но его нельзя изменять, а некоторые свойства только

для записи, что означает, что их можно изменять, но нельзя

просматривать. Процедуры объекта являются специфичными для этого

объекта и используются только внутри объекта. Они не

используются на других объектах. Именно это мы имеем в виду,

когда говорим, что объект содержит в себе все необходимое. Он

обладает всеми устройствами, необходимыми для его изменения

всеми возможными способами, которыми ему разрешено изменяться, и

чтобы возвращать информацию о себе во внешний мир.

 

Так почему же мы так заботимся об этих объектах? Есть некоторые

вещи, которые пользователи любят уметь делать, как, например,

читать и перемещаться по предложениям или абзацам, а не просто

по строкам. К сожалению, в большинстве текстовых процессоров

добиться этого довольно трудно, поскольку они не предусмотрены

для навигации в такой манере. Кроме того, мы должны помнить, что

программа доступа к экрану по определению читает то, что видимо

на экране, и если часть предложения или абзаца, который мы

пытаемся прочитать, находится за экраном, обычно он не сможет

получить доступ к этой части материала без прокрутки экрана. Но

пользователь может не захотеть этого делать, поскольку,

например, он находится в процессе редактирования, и ему не

хочется перемещать курсор. Объекты предоставляют нам средства,

чтобы выполнить эту задачу, поскольку объект,представляющий

данный документ, содержит все процедуры и свойства, необходимые

для того, чтобы сообщить информацию, необходимую Jaws. Microsoft

решил выставить эти "объекты автоматизации" на всеобщее

обозрение, в некоторых своих приложениях, таких, как Office 97

Suite, и Jaws, исследуя и манипулируя этими объектами, может

выполнить некоторый спектр желательных задач, описанных выше. По

сути дела, Jaws временно становится программой доступа к

объектам, а не только программой доступа к экрану. Термин

"Объект автоматизации" ("automation object") здесь используется,

чтобы показать объект, выставленный на всеобщее обозрение, так

что другие агенты, как например Jaws, могут иметь доступ к таким

объектам. Приложения, которые не используют некоторый вид модели

объекта, описанную здесь, для своего кодирования, или не

показывают эти объекты для внешнего мира, не могут быть

доступными с помощью этой технологии. Таким образом,

использование объектов для улучшения чтения экрана ограничено

некоторыми приложениями Microsoft, или любым приложением,

которое решает показать эти объекты автоматизации(или

автоматические объекты, не знаю, как лучше. Прим. пер.).

 

К сожалению, в задачу данного руководства не входит

предоставление всего необходимого знания и обучение всем

необходимым методам, необходимым для использования объектов в

написании скриптов. По сути дела, для тех, кто не знаком с

объектно-ориентированным программированием, эта задача,

вероятно, потребовала бы составить руководство, более длинное

чем все данное руководство по языку скриптов. Здесь мы просто

хотим познакомить вас с предметом, чтобы объекты, процедуры и

свойства, которые появляются в скриптах Jaws, не казались вам

чем-то совсем уж таинственным, и предоставить некоторую справку,

чтобы те, кому очень уж хочется продолжить, могли изучить этот

вопрос самостоятельно.

 

В этом пункте стоит прочитать раздел из помощи по Microsoft

Visual Basic, который поставляется с Microsoft Office. Читатель

должен обратить внимание, что синтаксис в примерах

программирования,

использованный в этих и других извлечениях, выглядит иначе, чем

кодирование, которое можно увидеть в скриптах Jaws. Так

происходит потому, что примеры полностью являются кодом на

Visual Basic, тогда как в скриптах Jaws, можно только вызвать

процедуры и получить значение свойств. Другие операции Visual

Basic, такие, как использование ключевых слов, не допускаются.

 

Понимание объектов, свойств и процедур

 

Объекты являются фундаментальными строительными блоками в Visual

Basic. Почти все, что вы делаете в Visual Basic, включает

модификацию объектов. Каждый элемент документов Word, таблицы,

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

объектом в Visual Basic.

 

Что такое объекты и коллекции?

 

Объект представляет элемент Wordа, такой, как документ, абзац,

закладка или просто символ. Коллекция - это объект, который

содержит несколько других объектов, обычно одного и того же

типа; например, все объекты закладок в документе содержатся в

одном объекте коллекции. Используя процедуры и свойства, можно

модифицировать одиночный объект или всю коллекцию объектов.

 

Что такое свойство?

 

Свойство - это атрибут объекта, или аспект его поведения.

Например, свойства документа включают его имя, содержание и

статус сохранения, а также то, является ли включенным

отслеживание изменений. Чтобы изменить характеристики объекта,

вы изменяете значение свойств. Чтобы установить значение

свойства, поставьте точку после ссылки на объект, затем имя

свойства, знак равенства затем новое значение свойства.

Следующий пример включает статус отслеживания изменений в

документе под именем mydoc.doc.

 

Documents("MyDoc.doc").TrackRevisions = True

 

В этом примере Documents ссылается на коллекцию открытых

документов, а имя "MyDoc.doc" идентифицирует один документ в

коллекции. Свойство TrackRevisions задается только для этого

документа.

 

Некоторые свойства задавать нельзя. Раздел помощи для свойства

(property) указывает, можно ли задавать это свойство

(read-write) или его можно только просматривать (read-only).

 

Вы можете возвратить информацию об объекте, возвратив значение

одного из его свойств. Следующий пример возвращает имя активного

документа:

 

docName = ActiveDocument.Name

 

В этом примере ActiveDocument обращается к документу в активном

окне в Wordе. Имя этого документа присвоено переменной docName.

 

Обратите внимание, что раздел помощи для каждого свойства

указывает, можете ли вы задавать это свойство (read-write),

только просматривать свойство (read-only), или только задавать

(write-only). Браузер объектов в редакторе Visual Basic также

выводит статус чтения-записи в нижней строке окна браузера,

когда выбирается свойство.

 

Что такое процедура?

 

Процедура - это действие, которое может выполнить объект.

Например, точно также, как можно распечтать документ, объект

документа имеет процедуру PrintOut. Процедуры часто имеют

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

Следующий пример распечатает первые три страницы активного

документа:

 

ActiveDocument.PrintOut From:=1, To:=3

 

В большинстве случаев процедуры являются действиями, а свойства

являются качествами. Использование процедуры приводит к тому,

что с объектом что-то происходит, тогда как использование

свойства возвращает информацию об объекте или приводит к тому,

что качество объекта изменяется.

 

Возвращение объекта

 

Большинство объектов возвращаются путем возврата одного объекта

из коллекции. Например, коллекция Documents содержит открытые

документы Word. Вы используете свойство Documents объекта

Application (объекта, находящегося на самом верху иерархии

объектов Word), чтобы возвратить коллекцию Documents.

 

После того, как вы получили доступ к коллекции, вы можете

возвратить одиночный объект, используя значение индекса в

скобках (это аналогично тому, как вы работаете с массивами).

Значение индекса обычно является числом или именем. Для

дополнительной информации обратитесь к возврату объекта из

коллекции.

 

Следующий пример использует свойство Documents для получения

доступа к коллекции Document. Число индекса используется для

того, чтобы возвратить первый документ в коллекции Documents.

Затем к объекту Document применяется процедура Close, чтобы

закрыть первый документ в коллекции Documents.

 

Documents(1).Close

 

Следующий пример использует имя (указанное как строка (string))

чтобы идентифицировать объект Document внутри коллекции

Documents.

 

Documents("Sales.doc").Close

 

Объекты коллекций часто имеют процедуры и свойства, с помощью

которых можно модифицировать всю коллекцию объектов. Объект

Documents имеет процедуру Save, которая сохраняет все документы

в коллекции. Следующий пример сохраняет открытые документы,

применяя процедуру Save:

 

Documents.Save

 

Объекту Document также доступна процедура Save, для сохранения

только одного документа. Следующий пример сохраняет документ

под именем report.doc.

 

Documents.Save

 

Надеемся, что вам становится ясно, что манипулирование этими

типами объектов является фундаментальным в действиях, которые

происходят в приложениях Microsoft Office, и что манипулируя

этими объектами Jaws может получить желанную информацию из

модели объекта. На самом деле, если вы затратите время, чтобы

научиться писать макросы в Word (что делается просто в подменю

Макро в меню Сервис), вы увидите нечто крайне интересное. (вы

можете получить информацию о том, как писать макро из системы

помощи Windows, если нажмете F1 находясь в Word). Войдите в меню

Указатель и наберите слово Макро. Вам будет представлено

несколько тем, включая создание макросов). Попробуйте написать

макрос, когда будете делать какую-нибудь типичную операцию, как

открытие документа, сохранение документа, или выбор, а затем

удаление какого-либо текста. Затем, после того, как запись макро

будет выключена, вернитесь в подменю Макросы и нажмите Enter на

первой опции, Макросы, или Alt+F8. Вы откроете список

существующих макросов и вам будет предложено их отредактировать.

Выберите опцию "Правка", и вы окажетесь в редакторе Visual Basic

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

что код выглядит так, как объектно-ориентированное

программирование, которое мы только что обсуждали. Это означает,

что все, что вы делаете, работая в этом приложении, делается

посредством доступа к объектам и работы с их процедурами и

свойствами. Таким образом, изучение макросов, которые вы

записали, является одним из способов изучить, как манипулировать

объектами в приложениях Office. Есть еще один полезный способ,

который вы можете использовать, находясь в редакторе Visual

Basic. Если вы нажмете F1 когда курсор вставки будет находиться

на процедуре или свойстве программного кода, появится экран

помощи, который объясняет термин и как он используется. Если у

вас этой помощи нет, это может означать, что помощь по Visual

Basic на вашей системе не установлена. Вы можете установить ее с

установочного диска Microsoft Office, вставив диск в дисковод, а

затем вызвав диалог "Выполнить" главного меню и набрать X/setup,

где X - буква вашего дисковода для компакт-дисков. Когда

появится диалог установки, щелкните кнопку "Добавить/Удалить".

Затем, когда появится список вариантов, выберите одно из


Дата добавления: 2015-11-04; просмотров: 10 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.078 сек.)







<== предыдущая лекция | следующая лекция ==>