Категории
Самые читаемые
PochitayKnigi » Компьютеры и Интернет » Программирование » VBA для чайников - Стив Каммингс

VBA для чайников - Стив Каммингс

Читать онлайн VBA для чайников - Стив Каммингс

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 94 95 96 97 98 99 100 101 102 ... 108
Перейти на страницу:

Оператор Open может принимать еще некоторые опциональные аргументы. Все они здесь не рассматриваются, но в следующем разделе рассмотрен один из них - Len=reclength, необходимый при работе с файлами произвольного доступа.

Выбора режима доступа к файлу

При открытии дискового файла с помощью оператора Open необходимо включить в него аргумент mode. Данный аргумент говорит VBA об организации файла и о том, каким образом планируется осуществлять доступ к информации. Хотя в качестве аргумента mode может быть любое из пяти возможных ключевых слов, в действительности выбор проводится из трех основных режимов. Каждый из режимов имеет свои достоинства и недостатки, описанные ниже.

Режим доступа к файлу в операторе Open

Описание работы

Ключевые слова

Произвольный доступ

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

Random

Последовательный

Данные сохраняются в виде серии символов.

Подходит для текстовых файлов, а также для файлов баз данных в кодировке ASCII, использующих разделители-запятые

Input (для чтения данных из файла); Out put (для записи данных в файл); Append (для записи данных в конец файла)

Двоичный

Данные сохраняются в строчной форме, в любом заданном порядке

Binary

Не идите на поводу у номеров

Хотя в VBA рекомендуется обращаться к открытым файлам по номеру, запоминать то, с чем связаны какие-то числа, достаточно трудно и неудобно. Вместо номеров файлов можно использовать константы или переменные с понятным названием. Если наперед известен номер, который будет использоваться для отдельного файла, объявите для него константу. Данную константу затем можно использовать в операторе, воздействующем на файл. Вот пример:

Const PetsFile = 1, BdayFile = 2

Open "C:MiscDataPetsLog.txt" For Input As PetsFile

Open "C:MiscDataBirthdays.txt" For Random As BdayFile

Input #PetsFile, strPetlnfo ‘ чтение одного элемента из файла

Close PetsFile

Put BdayFile, 45, usrBDay ' запись одного элемента в файл

CloseBdayFile

Применяйте данный прием без опасения: вместо того чтобы собственноручно присваивать файлам номера, используйте функцию FreeFile, определяющую следующий доступный номер файла. Если значение, возвращаемое функцией, присвоить переменной, необходимость в запоминании номера просто отпадет. Вот пример применения данного приема: Dim DiaryFile As Integer DiaryFile = FreeFile () Open

"C:MySecretsDiary.txt" For Input As DiaryFile

Закрытие открытых файлов

Будьте аккуратными - после того как работа с файлами завершена, их следует закрыть.

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

Для выполнения подобной задачи нужен, конечно же, оператор Close. Для закрытия определенного файла используется оператор вроде Close #2 (или Close PetsFile, как в предыдущем примере). Для закрытия всех открытых файлов оператор Close используется сам по себе.

Чтение и запись данных

Есть несколько VBA-команд для записи и извлечения данных из файла. В приведенной ниже таблице описана их работа.

Пример команды

Использование

Пояснение

Оператор Put

Предназначен для записи переменных в файл

Put #1, 1800, StrQuote (записывает переменную StrQuote в двоичный файл, начиная с позиции 1800);

Put #1, 15, usrCustomData (записывает переменную usr Cus t ornDa t a в файле с произвольным доступом в запись 15)

Оператор Get

Предназначен для чтения из файла переменной, сохраненной с помощью оператора Put

Get t #1, 1800, StrQuote (читает строку данных из двоичного файла с позиции 1800 в переменную Str Quot e); Get #1, 15, usrCustomDat a (читает определенные пользователем данные, хранимые в 15-й записи переменной usrCustomData)

Функция Input

Предназначена для чтения из файла данных, сохраненных с помощью оператора Put

StrBigText = Input ( 400,#1) (читает 4000 символов в переменную StrBigText)

Oneparop write #

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

Write #3, strShortString, strLongString, intLittleNumber (записывает три переменные в строку последовательного файла)

Оператор input #

Предназначен для чтения списка из последовательного файла переменных, для трех сохраненных с помощью onepaтopa Write #

Input #3, strShort String, strLong String, intLittleNumber (читает данные переменных из последовательного файла)

Глава 19. Еще о VBA-формах.

В этой главе ...

~ Выбор цвета и добавление изображений к формам и элементам управления

~ Настройка указателя мыши

~ Использование дополнительных параметров элементов управления

~ Проверка правильности вводимых данных и другие приемы

Материал настоящей главы дополняет сведения, изложенные в главе 10, предлагая вам советы о проектировании и программировании VBA-форм.

О внешнем виде форм и элементов управления

Хотя вы можете изменить параметры, относящиеся к внешнему виду форм и элементов управления, с помощью программного кода, чаше всего делать это не имеет смысла. Лучше воспользоваться диалоговым окном Properties для выбора всех необходимых настроек (подробности об использовании диалогового окна свойства редактора Visual Basic изложены в главе 10).

Выбор цветов

Значения свойств ForeColor и BackColor задают соответственно цвет переднего плана и цвет фона для форм и элементов управления. Для элементов управления значение свойства ForeColor задает цвет текста, размещаемого на элементе управления. Это свойство недоступно для тех элементов управления, на которых текст разместить нельзя. В случае форм значение свойства ForeColor задает цвет, который будет использоваться по умолчанию для всех новых размещаемых на форме элементов управления, а также для сетки на форме (эта сетка видна только в режиме проектирования формы).

Все относящиеся к выбору цветов свойства используются одинаково. После щелчка на кнопке со стрелкой в поле свойства, относящегося к цвету, появляется приятное на вид небольшое окно, в котором, несмотря на его небольшой размер, будет целые две вкладки (рис. 19.1).

На вкладке System (Системные) (рис. 19.1, слева) можно выбрать цвет из системной палитры Windows, т.е. из цветов, заданных в панели управления Windows для элементов интерфейса Windows. Если из списка выбрать пункт типа Desktop (Рабочий стол) или Button Face (Поверхность кнопки), VBA будет автоматически корректировать хранящееся в свойстве значение цвета при изменении соответствующих параметров в панели управления Windows.

Рис. 19.1. Здесь показаны обе вкладки диалогового окна выбора цвета в VBA

На вкладке Palette (Палитра) (рис. 19.1, справа) можно выбрать цвет из предлагаемой палитры. VBA автоматически назначит свойству числовое значение выбранного цвета. В общем, довольно просто.

Выбор шрифтов

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

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

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

Чтобы выбрать шрифт для формы или элемента управления, найдите свойство Font в окне свойств, щелкните в соответствующем поле, а затем на появившейся в этом поле кнопке с многоточием. В результате на экране появится стандартное диалоговое окно Шрифт (рис. 19.2).

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

1 ... 94 95 96 97 98 99 100 101 102 ... 108
Перейти на страницу:
Тут вы можете бесплатно читать книгу VBA для чайников - Стив Каммингс.
Комментарии