SlideShare a Scribd company logo
встроен функции
Преподаватель Косарь О.В.Преподаватель Косарь О.В.
Тема:Тема:
ВыходВыход
Функции работыФункции работы
со строкамисо строками
ВыходВыход
ФУНКЦИИ РАБОТЫ СО СТРОКАМИ
Строка в VBA может иметь переменную
или постоянную длину.
Строка переменной длины занимает объем
оперативной памяти, который может
меняться в процессе выполнения программы.
Строка постоянной длины занимает
фиксированный объем оперативной памяти.
Например:
Dim strA As String
Dim strB As String * 15
strA = "Программирование"
strB = "Программирование"
ВыходВыход
ПриПри работе со строками используются триработе со строками используются три
функции удаления пробеловфункции удаления пробелов::
Например:
Dim strA As String
Dim strB As String
strA = " Строковая переменная "
strB = LTrim(strA)
strB = Trim(strA)
Функция Описание
LTrim
Удаляет все пробелы в начале
строки (слева – left)
RTrim
Удаляет все пробелы в конце строки
(справа – right)
Trim
Удаляет все пробелы в начале и
конце строки
ВыходВыход
ФункцииФункции преобразованияпреобразования
Например:
Dim strA As String
Dim strB As String
strA = "Строковая переменная"
strB = Replace(strA, "переменная", "константа")
Функция Описание
CStr или Str Преобразует число в строку
Val
Преобразует строку в число
UCase
Преобразует строку к
верхнему регистру
LCase
Преобразует строку к
нижнему регистру
Replace
Заменяет часть строки или
определенные символы
ВыходВыход
ФункцииФункции выделения подстрокивыделения подстроки
Функция Описание
Left (строка, количество)
Возвращает начало строки с
указанным количеством
символов
Right (строка, количество)
Возвращает подстроку с
указанным количеством
символов с конца строки
Mid (строка, номер[,
количество])
Возвращает подстроку,
содержащую указанное
количество символов, начиная с
указанного номера. Если
количество не указано –
возвращает символы до конца
строки
ВыходВыход
Dim strA As StringDim strA As String
Dim strB As StringDim strB As String
strA = "Моя строковая переменная"strA = "Моя строковая переменная"
strB = Left (strA, 3)strB = Left (strA, 3)
strB = Right (strA, 10)strB = Right (strA, 10)
strB = Mid (strA, 5, 9)strB = Mid (strA, 5, 9)
ФУНКЦИИФУНКЦИИ
РАБОТЫРАБОТЫ
С ФАЙЛАМИС ФАЙЛАМИ
ВыходВыход
Файл последовательногоФайл последовательного
доступадоступа
представляет собой
текстовый
файл, состоящий из
записей
переменной длины,
конец которой
отмечается символом
возврата
каретки/перевода
строки CRLF
Файл произвольногоФайл произвольного
доступадоступа
Бинарный файлБинарный файл
сохраняет данные
как ряд записей
фиксированного
размера,
разрешается
непосредственный
доступ к каждой
записи по ее
номеру
данные
хранятся как
неформатиро-
ванная
последователь-
ность байтов
ВыходВыход
Режимы доступа к файлу
Аргумент mode Режим доступа к файлу
APPEND
Последовательный доступ к файлу. Если filename уже
существует, то новые данные присоединяются в конце этого
файла. Если filename не существует, файл создается
BINARY
Бинарный доступ к файлу, для чтения и записи данных. Если
filename не существует, файл создается
INPUT
Последовательный доступ к файлу, только для чтения данных.
Если filename не существует, оператор выдает ошибку
OUTPUT
Последовательный доступ к файлу, только для записи данных.
Если filename существует, файл удаляется и создается новый
файл. Если filename не существует, файл создается
RANDOM
Произвольный доступ к файлу, для чтения и записи данных.
Если filename не существует, файл создается. Этот режим
файлового доступа используется по умолчанию, если аргумент
mode не задан.
ВыходВыход
Открытие файловОткрытие файлов
Open filename For mode [Access access]Open filename For mode [Access access]
[lock] As[lock] As #filenum [LEN=reclen]#filenum [LEN=reclen]
название файла
(записывается
полный путь)
режим доступа к файлу
операции, разрешенные
с открытым файлом
доступ к файлу
других процессов
дескриптор файла
длина записи для
файлов с произвольным
доступом и размер
буфера для файлов с
последовательным доступом
ВыходВыход
ОПЕРАЦИИ, РАЗРЕШЕННЫЕ С ОТКРЫТЫМ
ФАЙЛОМ
Файл открывается для чтения и для
записи. Этот режим
распространяется только на файлы
и последовательные файлы,
открытые для режима APPEND.
READREAD WRITEWRITE
Файл открывается только для
записи
WRITEWRITE
Файл открывается только для
чтения
READREAD
ОписаниеЗначение
аргумента
access
ВыходВыход
ФУНКЦИИ РАБОТЫ С ТЕКСТОВЫМИ ФАЙЛАМИ
Для начала работы с текстовым файлом
используется оператор открытия файла:
OpenOpen имяимя ForFor назначениеназначение AsAs номерномер
•имя – полное имя файла
•номер – номер файла
•назначение – это ключевое слово
Input (считывание информации), Output
(запись) или Append (добавление
информации)
ВыходВыход
В качестве номера файла номер
рекомендуется использовать переменную
типа Integer, значение которой задается
с помощью оператора присваивания
номер =номер = FreeFileFreeFile
Этот опреатор должен находиться перед
оператором Open;
FreeFile – функция, возвращающая в
программу незанятый номер файла.
ВыходВыход
По окончании работы с файлом его следует
закрыть с помощью оператора Close.
Синтаксис:
CloseClose номерномер
Для добавления в файл новых строк
используется оператор Print.
Синтаксис:
PrintPrint ##номерномер,, строкастрока
ВыходВыход
Существует два способа извлечения
информации из текстового файла:
1. с помощью оператора Line Input
Синтаксис:
LineLine Input #Input #номер, переменнаяномер, переменная
Этот оператор производит считывание из файла
очередной строки, которая присваивается
переменной строкового типа переменная
2. с помощью функции
Input (Input (количество, номерколичество, номер))
Эта функция возвращает в программу строку,
содержащую указанное количество символов
ВыходВыход
Пример использованияПример использования
функций работы с файламифункций работы с файлами
ВыходВыход
Sub Создание()
Dim FName1 As String
Dim FName2 As String
Dim FNum1 As Integer
Dim FNum2 As Integer
Dim n1 As Long
Dim n2 As Long
Dim strA As String
'создание каталога texts:
MkDir ("d:texts")
'задаем имена файлов:
FName1 = "d:textsa.txt"
FName2 = "d:textsb.txt"
 ВыходВыход
'Создание файла a.txt:
FNum1 = FreeFile
Open FName1 For Output As FNum1
strA = "Создан текстовый файл,"
Print #FNum1, strA
Print #FNum1, "который состоит из
нескольких _
строк."
'находим количество символов в файле
a.txt:
n1 = LOF(FNum1)
Close FNum1
MsgBox "В файле a.txt " & Str(n1) & “
символов."

ВыходВыход
'Копирование текста из файла a.txt
в b.txt:
FNum1 = FreeFile
Open FName1 For Input As FNum1
FNum2 = FreeFile
Open FName2 For Output As FNum2
'в цикле считываем текст:
Do Until EOF(FNum1)
Line Input #FNum1, strA
Print #FNum2, strA
Loop
Close FNum1

ВыходВыход
'Добавление новой строки в файл
b.txt:
strA = "Добавлена новая строка."
Print #FNum2, strA
n2 = LOF(FNum2)
Close FNum2
FNum2 = FreeFile
Open FName2 For Input As FNum2
'считывание символа:
strA = Input(1, FNum2)
Close FNum2
MsgBox "В файле b.txt" & Str(n2) & "символов, " _
& "причем первый символ - " &
strA
End Sub
ВыходВыход
Результат работы программы:
ВыходВыход
Может потребоваться уничтожение
файлов a.txt и b.txt и папки
texts по окончании выполнения
программы. Для этого перед строкой
End Sub следует добавить операторы
уничтожения файлов:
Kill (FName1)
Kill (FName2)
RmDir ("d:texts")
ВыходВыход
Пример программы добавления
строки в файл b.txt и запуска
редактора Блокнот (Notepad)
Sub Добавление()
Dim FNum As Integer
Dim n As Long
Dim RetVal ‘для функции Shell
FNum = FreeFile

ВыходВыход
'Открытие файла b.txt и ввод новой строки
Open "d:textsb.txt" For Append As FNum
Print #FNum, "Добавлена вторая новая
строка."
'находим количество символов в файле b.txt:
n = LOF(FNum)
Close FNum
MsgBox "В файле b.txt " & Str(n) & “ символов."
'Запуск редактора Блокнот
RetVal = Shell (“c:Windowsnotepad.exe”,
1)
End Sub
ВыходВыход

More Related Content

PDF
Python. Обработка ошибок
PPT
лабораторная работа №7
PPTX
переменные в Python
PPT
переменные в Python
PDF
Python: ввод и вывод
PPTX
file handling in c
PPTX
алгоритмы stl
Python. Обработка ошибок
лабораторная работа №7
переменные в Python
переменные в Python
Python: ввод и вывод
file handling in c
алгоритмы stl

What's hot (20)

PPTX
системное администрирование
PPTX
стандартная библиотека с++: введение
PPTX
Декларативно функциональный стиль в PHP
PPTX
Cpp/cli particularities
PPT
Лекция 5
PPT
09 rec file
PPTX
C++ и базы данных
PPTX
PPTX
особенности программирования на с++
PPT
Лекция 6
PPTX
библиотеки программирования
PDF
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
PPT
язык программирования Go
PPT
ввод и вывод элементов массива
PPT
Rupyru2007 Rastyagaev Ruby
PPT
лабораторная работа №5
PPTX
контейнеры STL
PDF
"Внутренности" CPython, часть II
системное администрирование
стандартная библиотека с++: введение
Декларативно функциональный стиль в PHP
Cpp/cli particularities
Лекция 5
09 rec file
C++ и базы данных
особенности программирования на с++
Лекция 6
библиотеки программирования
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
язык программирования Go
ввод и вывод элементов массива
Rupyru2007 Rastyagaev Ruby
лабораторная работа №5
контейнеры STL
"Внутренности" CPython, часть II
Ad

Viewers also liked (12)

PDF
Rand walk
PDF
Tutor a distancia
PPTX
MARKETING PLAN FOR A NEW ANDROID APP
PDF
לוגיסטיקה תהליכים סטוכסטיים 3-5 סיכום
PPTX
Educappnearpod
PDF
Statistics Reference Book
PPT
clasificacion de las empresa
DOCX
Plan de charla dengue
PPTX
Presentation3
PDF
основы ооп на языке C#. часть 1. введение в программирование
PPTX
Baraj Hazneleri Onur Serkan Kaya
PPTX
Processor
Rand walk
Tutor a distancia
MARKETING PLAN FOR A NEW ANDROID APP
לוגיסטיקה תהליכים סטוכסטיים 3-5 סיכום
Educappnearpod
Statistics Reference Book
clasificacion de las empresa
Plan de charla dengue
Presentation3
основы ооп на языке C#. часть 1. введение в программирование
Baraj Hazneleri Onur Serkan Kaya
Processor
Ad

Similar to встроен функции (20)

PPT
массивы Php
PPT
Прикладная эконометрика. Лекция 1
PPTX
Занятие 1.pptxsadasdasdasdasasdasdasdasdas
PPTX
работа с потоками ввода вывода
PPTX
оператор присваивания, ввод и вывод данных
PPTX
file handling in c++
PDF
PDF
Александр Гладыш — Visual editor for business logic in Lua and JS
PPT
п о файловая система
DOCX
C++ теория
DOCX
C++ теория
DOCX
C++ теория
PDF
Основы MATLAB. Программирование
PDF
Scala lecture #4
PPT
лекции спрг 6_семестр (1)
PPT
лекция 2
PDF
C++ осень 2012 лекция 9
PPT
презентация лекции №8
PDF
Теория языков программирования некоторые слайды к лекциям
массивы Php
Прикладная эконометрика. Лекция 1
Занятие 1.pptxsadasdasdasdasasdasdasdasdas
работа с потоками ввода вывода
оператор присваивания, ввод и вывод данных
file handling in c++
Александр Гладыш — Visual editor for business logic in Lua and JS
п о файловая система
C++ теория
C++ теория
C++ теория
Основы MATLAB. Программирование
Scala lecture #4
лекции спрг 6_семестр (1)
лекция 2
C++ осень 2012 лекция 9
презентация лекции №8
Теория языков программирования некоторые слайды к лекциям

More from LidiKashka (10)

PPS
функции работы с датой и временем
PPS
операторы и выражения
PPS
ооп
PPS
объекты Word
PPS
объекты Excel
PPS
Podprogram
PPS
объекты и классы
PPS
массивы
PPS
записи
PPS
Vba программы
функции работы с датой и временем
операторы и выражения
ооп
объекты Word
объекты Excel
Podprogram
объекты и классы
массивы
записи
Vba программы

встроен функции

  • 2. Преподаватель Косарь О.В.Преподаватель Косарь О.В. Тема:Тема: ВыходВыход
  • 3. Функции работыФункции работы со строкамисо строками ВыходВыход
  • 4. ФУНКЦИИ РАБОТЫ СО СТРОКАМИ Строка в VBA может иметь переменную или постоянную длину. Строка переменной длины занимает объем оперативной памяти, который может меняться в процессе выполнения программы. Строка постоянной длины занимает фиксированный объем оперативной памяти. Например: Dim strA As String Dim strB As String * 15 strA = "Программирование" strB = "Программирование" ВыходВыход
  • 5. ПриПри работе со строками используются триработе со строками используются три функции удаления пробеловфункции удаления пробелов:: Например: Dim strA As String Dim strB As String strA = " Строковая переменная " strB = LTrim(strA) strB = Trim(strA) Функция Описание LTrim Удаляет все пробелы в начале строки (слева – left) RTrim Удаляет все пробелы в конце строки (справа – right) Trim Удаляет все пробелы в начале и конце строки ВыходВыход
  • 6. ФункцииФункции преобразованияпреобразования Например: Dim strA As String Dim strB As String strA = "Строковая переменная" strB = Replace(strA, "переменная", "константа") Функция Описание CStr или Str Преобразует число в строку Val Преобразует строку в число UCase Преобразует строку к верхнему регистру LCase Преобразует строку к нижнему регистру Replace Заменяет часть строки или определенные символы ВыходВыход
  • 7. ФункцииФункции выделения подстрокивыделения подстроки Функция Описание Left (строка, количество) Возвращает начало строки с указанным количеством символов Right (строка, количество) Возвращает подстроку с указанным количеством символов с конца строки Mid (строка, номер[, количество]) Возвращает подстроку, содержащую указанное количество символов, начиная с указанного номера. Если количество не указано – возвращает символы до конца строки ВыходВыход Dim strA As StringDim strA As String Dim strB As StringDim strB As String strA = "Моя строковая переменная"strA = "Моя строковая переменная" strB = Left (strA, 3)strB = Left (strA, 3) strB = Right (strA, 10)strB = Right (strA, 10) strB = Mid (strA, 5, 9)strB = Mid (strA, 5, 9)
  • 9. Файл последовательногоФайл последовательного доступадоступа представляет собой текстовый файл, состоящий из записей переменной длины, конец которой отмечается символом возврата каретки/перевода строки CRLF Файл произвольногоФайл произвольного доступадоступа Бинарный файлБинарный файл сохраняет данные как ряд записей фиксированного размера, разрешается непосредственный доступ к каждой записи по ее номеру данные хранятся как неформатиро- ванная последователь- ность байтов ВыходВыход
  • 10. Режимы доступа к файлу Аргумент mode Режим доступа к файлу APPEND Последовательный доступ к файлу. Если filename уже существует, то новые данные присоединяются в конце этого файла. Если filename не существует, файл создается BINARY Бинарный доступ к файлу, для чтения и записи данных. Если filename не существует, файл создается INPUT Последовательный доступ к файлу, только для чтения данных. Если filename не существует, оператор выдает ошибку OUTPUT Последовательный доступ к файлу, только для записи данных. Если filename существует, файл удаляется и создается новый файл. Если filename не существует, файл создается RANDOM Произвольный доступ к файлу, для чтения и записи данных. Если filename не существует, файл создается. Этот режим файлового доступа используется по умолчанию, если аргумент mode не задан. ВыходВыход
  • 11. Открытие файловОткрытие файлов Open filename For mode [Access access]Open filename For mode [Access access] [lock] As[lock] As #filenum [LEN=reclen]#filenum [LEN=reclen] название файла (записывается полный путь) режим доступа к файлу операции, разрешенные с открытым файлом доступ к файлу других процессов дескриптор файла длина записи для файлов с произвольным доступом и размер буфера для файлов с последовательным доступом ВыходВыход
  • 12. ОПЕРАЦИИ, РАЗРЕШЕННЫЕ С ОТКРЫТЫМ ФАЙЛОМ Файл открывается для чтения и для записи. Этот режим распространяется только на файлы и последовательные файлы, открытые для режима APPEND. READREAD WRITEWRITE Файл открывается только для записи WRITEWRITE Файл открывается только для чтения READREAD ОписаниеЗначение аргумента access ВыходВыход
  • 13. ФУНКЦИИ РАБОТЫ С ТЕКСТОВЫМИ ФАЙЛАМИ Для начала работы с текстовым файлом используется оператор открытия файла: OpenOpen имяимя ForFor назначениеназначение AsAs номерномер •имя – полное имя файла •номер – номер файла •назначение – это ключевое слово Input (считывание информации), Output (запись) или Append (добавление информации) ВыходВыход
  • 14. В качестве номера файла номер рекомендуется использовать переменную типа Integer, значение которой задается с помощью оператора присваивания номер =номер = FreeFileFreeFile Этот опреатор должен находиться перед оператором Open; FreeFile – функция, возвращающая в программу незанятый номер файла. ВыходВыход
  • 15. По окончании работы с файлом его следует закрыть с помощью оператора Close. Синтаксис: CloseClose номерномер Для добавления в файл новых строк используется оператор Print. Синтаксис: PrintPrint ##номерномер,, строкастрока ВыходВыход
  • 16. Существует два способа извлечения информации из текстового файла: 1. с помощью оператора Line Input Синтаксис: LineLine Input #Input #номер, переменнаяномер, переменная Этот оператор производит считывание из файла очередной строки, которая присваивается переменной строкового типа переменная 2. с помощью функции Input (Input (количество, номерколичество, номер)) Эта функция возвращает в программу строку, содержащую указанное количество символов ВыходВыход
  • 17. Пример использованияПример использования функций работы с файламифункций работы с файлами ВыходВыход
  • 18. Sub Создание() Dim FName1 As String Dim FName2 As String Dim FNum1 As Integer Dim FNum2 As Integer Dim n1 As Long Dim n2 As Long Dim strA As String 'создание каталога texts: MkDir ("d:texts") 'задаем имена файлов: FName1 = "d:textsa.txt" FName2 = "d:textsb.txt"  ВыходВыход
  • 19. 'Создание файла a.txt: FNum1 = FreeFile Open FName1 For Output As FNum1 strA = "Создан текстовый файл," Print #FNum1, strA Print #FNum1, "который состоит из нескольких _ строк." 'находим количество символов в файле a.txt: n1 = LOF(FNum1) Close FNum1 MsgBox "В файле a.txt " & Str(n1) & “ символов."  ВыходВыход
  • 20. 'Копирование текста из файла a.txt в b.txt: FNum1 = FreeFile Open FName1 For Input As FNum1 FNum2 = FreeFile Open FName2 For Output As FNum2 'в цикле считываем текст: Do Until EOF(FNum1) Line Input #FNum1, strA Print #FNum2, strA Loop Close FNum1  ВыходВыход
  • 21. 'Добавление новой строки в файл b.txt: strA = "Добавлена новая строка." Print #FNum2, strA n2 = LOF(FNum2) Close FNum2 FNum2 = FreeFile Open FName2 For Input As FNum2 'считывание символа: strA = Input(1, FNum2) Close FNum2 MsgBox "В файле b.txt" & Str(n2) & "символов, " _ & "причем первый символ - " & strA End Sub ВыходВыход
  • 23. Может потребоваться уничтожение файлов a.txt и b.txt и папки texts по окончании выполнения программы. Для этого перед строкой End Sub следует добавить операторы уничтожения файлов: Kill (FName1) Kill (FName2) RmDir ("d:texts") ВыходВыход
  • 24. Пример программы добавления строки в файл b.txt и запуска редактора Блокнот (Notepad) Sub Добавление() Dim FNum As Integer Dim n As Long Dim RetVal ‘для функции Shell FNum = FreeFile  ВыходВыход
  • 25. 'Открытие файла b.txt и ввод новой строки Open "d:textsb.txt" For Append As FNum Print #FNum, "Добавлена вторая новая строка." 'находим количество символов в файле b.txt: n = LOF(FNum) Close FNum MsgBox "В файле b.txt " & Str(n) & “ символов." 'Запуск редактора Блокнот RetVal = Shell (“c:Windowsnotepad.exe”, 1) End Sub ВыходВыход