Vba excel. начинаем программировать с нуля

Все приложения на вкладке «Мой Office»: примеры кода

Вот несколько скриптов, которые можно попробовать. Каждый из них решает реальную задачу Office.

Удаление пустых строк на листе Excel

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

Удаление пустых текстовых полей в PowerPoint

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

Копирование контакта из Outlook в Word

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

Visual Basic 2010

  • Статья
  • 07/02/2015
  • Чтение занимает 22 мин

Джонатан Энейя

С момента появления в 1991 году язык Visual Basic всегда был феноменально производительным инструментом для создания приложений. Почти 20 лет спустя он обеспечивает простой доступ к Microsoft .NET Framework, позволяя разработчикам писать приложения для самых разных применений — от настольных компьютеров и мобильных телефонов до платформ вычислений в облаке.

В апреле Microsoft начинает поставки Visual Studio 2010, который включает в себя Visual Basic 10 (иногда называемый VB 2010 или VB10). Этот выпуск — на данный момент самый мощный — содержит многочисленные средства, ускоряющие разработку и позволяющие писать меньше кода. В этой статье есть все для того, чтобы взять с места в карьер с Visual Basic в Visual Studio 2010.

Исполняющая среда динамических языков

Хотя с технической точки зрения Visual Basic в своей основе является статическим языком, в нем всегда были очень мощные динамические средства, например позднее связывание (late binding). Visual Studio 2010 поставляется с новой платформой под названием Dynamic Language Runtime (DLR), которая упрощает создание динамических языков и взаимодействие между ними. Visual Basic 2010 полностью поддерживает DLR, позволяя использовать библиотеки и инфраструктуры, написанные на таких языках, как Iron­Python и IronRuby.

Самое интересное, что эта поддержка не потребовала никаких изменений в синтаксисе (фактически в компиляторе не было модифицировано ни одной строки кода). Разработчики могут по-прежнему, как и в предыдущих версиях Visual Basic, определять операции с поздним связыванием. Изменения внесены в исполняющую среду Visual Basic Runtime (Microsoft.Visual­Basic.dll), которая теперь распознает интерфейс IDynamicMetaObjectProvider, предоставляемый DLR. Если объект реализует этот интерфейс, Visual Basic Runtime сконструирует DLR CallSite и позволит этому объекту и предоставляющему его языку object ввести в операцию собственную семантику.

Например, стандартные библиотеки Python (Python Standard Libraries) содержат файл random.py с методом shuffle, который можно использовать для случайного переупорядочения элементов в массиве. Вызвать его несложно:

В период выполнения Visual Basic обнаруживает, что объект реализует IDynamicMeta­ObjectProvider, и передает управление DLR, которая взаимодействует с Python и выполняет метод (передавая массив, определенный в Visual Basic как аргумент метода).

Рис.3 Создание собственного динамического объекта и его вызов из Visual Basic через механизм позднего связывания

Дополнительное задание: добавление двух чисел

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

на:

Затем запустите обновленное приложение, как описано в разделе .

Добавление системы управления исходным кодом Git

Теперь, когда вы создали приложение, вы можете добавить его в репозиторий Git. Visual Studio упрощает этот процесс с помощью инструментов Git, которые вы можете использовать непосредственно из IDE.

Совет

Git — это наиболее широко используемая современная система контроля версий, поэтому, независимо от того, являетесь ли вы профессиональным разработчиком или учитесь программировать, Git может быть для вас весьма полезным. Если вы новичок в Git, вы можете начать с сайта https://git-scm.com/. Там вы найдете памятки, популярную электронную книгу и видеоматериалы по основам GIT.

Чтобы связать свой код с Git, начните с создания нового репозитория Git, в котором находится ваш код:

  1. В строке состояния в правом нижнем углу Visual Studio нажмите Добавить в систему управления версиями и выберите Git.

  2. В диалоговом окне Создать репозиторий Git войдите в GitHub.

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

    Совет

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

  3. Щелкните Создать и отправить.

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

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

    Второй значок с карандашом показывает количество незафиксированных изменений в вашем коде. Щелкните этот значок, чтобы просмотреть эти изменения в окне Git Changes.

Чтобы узнать больше о том, как использовать Git с вашим приложением, см. документацию по управлению версиями Visual Studio.

Очистка ресурсов

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

  1. В Обозревателе решений, щелкните правой кнопкой элемент WhatIsYourName, чтобы открыть контекстное меню для вашего проекта. Затем выберите Открыть папку в проводнике.

  2. Закройте Visual Studio.

  3. В диалоговом окне проводника перейдите на два уровня папок вверх.

  4. Щелкните правой кнопкой мыши папку WhatIsYourName и выберите пункт Удалить.

Visual Basic в наши дни

VB — инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:

  • поддержку ООП с конструкторами, деструкторами и наследованием;
  • свободную многопоточность;
  • компиляцию в байт-код, исполняемую при помощи CLR;
  • структурную обработку исключений;

Но главное удобство — платформа .NET. Это означает, что теперь разработчики имеют доступ к огромному количеству библиотек платформы для работы с БД, графикой, формами, безопасностью и вебом.

Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.

В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.

Работа с диапазонами ячеек

Вся работа в Excel VBA производится с диапазонами ячеек. Они создаются функцией Range и возвращают объект типа Range. У него есть всё необходимое для работы с данными и/или оформлением. Кстати сказать, свойство Cells листа — это тоже Range.

Примеры работы с Range

Теперь давайте поймем алгоритм работы нашего кода. Итак, у каждой строчки листа data, начиная со второй, есть некоторые данные, которые нас не интересуют (ID, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:

  1. Считали группы из очередной строки.
  2. Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
    1. Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
  3. После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.

Для упрощения работы рекомендую определить следующие функции-сокращения:

Далее определим глобальную переменную «текущая строчка»: Dim CurRow As Integer. В начале процедуры её следует сделать равной единице. Еще нам потребуется переменная-«текущая строка в data», массив с именами групп текущей предыдущей строк. Потом можно написать цикл «пока первая ячейка в строке непуста».

Теперь надо перенести всякую информацию в result

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

Всё. Можно любоваться первой версией.

Некрасиво, но похоже. Давайте разбираться с форматированием. Сначала изменим процедуру AddHeader:

Уже лучше:

Осталось только сделать границы. Тут уже нам требуется работать со всеми объединёнными ячейками, иначе бордюр будет только у одной:

Поэтому чуть-чуть меняем код с добавлением стиля границ:

Осталось лишь добится пропусков перед началом новой группы. Это легко:

В цикле расстановки заголовков

В точности то, что и хотели.

Надеюсь, что эта статья помогла вам немного освоится с программированием для Excel на VBA. Домашнее задание — добавить заголовки «ID, Название, Цена» в результат. Подсказка: CurRow = 0 CurRow = 1.

Файл можно скачать тут (min.us) или тут (Dropbox). Не забудьте разрешить исполнение макросов. Если кто-нибудь подскажет человеческих файлохостинг, залью туда.

Спасибо за внимание. UPD: Перезалил пример на Dropbox и min.us

UPD: Перезалил пример на Dropbox и min.us.

UPD2: На самом деле, при вызове процедуры с одним параметром скобки можно поставить. Либо использовать конструкцию Call Foo(«bar», 1, 2, 3) — тут скобки нужны постоянно.

Пример программы на VB

Для начала мы с Вами сделаем простенькую программу.

Поместите на форму следующие объекты: 2 кнопки CommandButton (Кнопка управления) и одно текстовое поле TextBox (Текстовое поле). Они расположены слева и называются «Кнопки панели элементов управления». Теперь когда у Вас они расположены на форме, можете, как угодно их поместить, растянуть, и даже задать какие-нибудь свойства, которые расположены справа. Мы с Вами зададим всего лишь их название, для этого выделите кнопку Command1 (просто нажав на нее) и с права в окне свойств найдите поле Caption и задайте название этой кнопки (измените  Command1 например на «Выполнить»). Теперь выделим Command2 и зададим ей название «Выход».
Теперь, когда у нас есть объекты на форме, давайте зададим им действия, которые они должны выполнять. Щелкните 2 раза по кнопки Command1 (или как у нас уже «Выполнить») и у Вас откроется окно кода где написано:

Private Sub Command1_Click()

End Sub

Вы напишите между этими строками вот что, и должно получиться вот так:

Private Sub Command1_Click()
  Text1.Text = "Привет! Программа работает"
  End Sub

Здесь мы задали, что при нажатие этой кнопки в текстовом поле будет появляться эта надпись.
Можете закрыть по крестику окно кода, и щелкнуть 2 раза по кнопке Command2 (у нас «Выход»), появляется то же самое окно, но уже готовое, для того чтобы задать действие для второй кнопки пишем вот что:

Private Sub Command2_Click()
  End
  End Sub

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

Все можете запустить Вашу первую программу и попробовать, как она работает, но это конечно все только начало т.к. на Visual Basic можно написать такие серьезные программы которые не уступят таким программам, которые написаны, например, на языке C++.

Надеюсь, Вы теперь понимаете, почему этот язык является одним из самых легких (если не самым легкий) языков программирования. А начинать с него или не с него, то это только Ваш выбор.

Все, удачи в освоение Visual Basic, начинающим рекомендую начать свой путь программиста именно с этого языка.

Нравится13Не нравится2

Автоматически реализуемые свойства

В Visual Basic свойства являются членами класса, которые вы используете, чтобы предоставить внешнему миру доступ к состоянию объекта. Типичное объявление свойства выглядит так:

Здесь приходится писать 10 строк кода, чтобы выразить на самом деле крайне простую концепцию. Учитывая, что в типичных объектах обычно содержатся десятки свойств, вы вынуждены включать в определения классов массу стереотипного кода. Чтобы облегчить подобные задачи, в Visual Basic 2010 введены автоматически реализуемые свойства (auto-implemented properties), которые позволяют определять простое свойство всего одной строкой кода:

В этом случае компилятор автоматически генерирует аксессоры Getter и Setter, а также поддерживающие поля (backing fields). Имя поддерживающего поля всегда начинается со знака подчеркивания, за которым следует имя свойства (в нашем примере _Country). Это соглашение по именованию гарантирует совместимость на уровне двоичной сериализации на случай, если автоматически реализуемое свойство вдруг придется переделать в обычное. Если имя поддерживающего поля одно и то же, двоичная сериализация будет работать.

Одно из впечатляющих качеств автоматически реализуемых свойств — возможность указывать инициализаторы, которые устанавливают значение свойства по умолчанию при выполнении конструктора. Например, в случае классов сущностей очень часто нужно присвоить основному ключу значение вроде –1, указывающее, что он находится в несохраненном состоянии. Вот как мог бы выглядеть соответствующий код:

При выполнении конструктора поддерживающее поле (_ID) автоматически получит значение –1. Синтаксис инициализатора работает и для ссылочных типов:

Эта строка кода выглядит в несвойственном Visual Basic стиле; в ней приходится дважды вводить имя типа. Хорошая новость в том, что теперь есть более краткий синтаксис в стиле Visual Basic:

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

Очевидно, что для более сложных свойств все равно понадобится расширенный синтаксис.  Для активации предыдущего фрагмента с кодом свойства вы по-прежнему можете использовать Property{Tab}. В качестве альтернативы после набора первой строки свойства можно просто ввести Get{Enter}, и IDE сгенерирует свойство в старом стиле:

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

  • Основная часть .NET-инфраструктуры связывания с данными работает со свойствами, а не полями.
  • Интерфейс не может требовать наличия поля — такое возможно только для свойства.
  • Свойства обладают большей гибкостью, если впоследствии вам понадобится изменить бизнес-правила. Например, кто-то вводит правило, что телефонный номер должен состоять из 10 цифр. Если назначить его открытому полю, вы не сможете выполнять такую проверку. Переделка открытого поля в свойство является разрушающим изменением в таких случаях, как выполнение двоичной сериализации и использование отражения.

Лямбды выражений

Термин «лямбда» поначалу звучит устрашающе, но лямбда — это просто функция, определенная внутри другой функции. В Visual Basic 2008 были введены лямбда-выражения (lambda expressions), поддерживаемые ключевым словом Function:

Лямбда-выражения — отличный способ компактного выражения локальной логики без распределения по нескольким методам. Например, вот как выглядел бы предыдущий код в Visual Basic 2005 (где нет поддержки лямбда-выражений):

Увы, лямбда-выражения в Visual Basic 2008 требовали, чтобы выражения возвращали какое-то значение, поэтому вот такой код:

привел бы к ошибке компиляции:

Console.WriteLine является процедурой типа Sub (void в C#), а значит, не возвращает значение, из-за чего компилятор сообщает об ошибке. Чтобы устранить эту проблему, в Visual Basic 2010 введена поддержка лямбд выражений (statement lamb­das), которые являются лямбдами, содержащими одно или более выражений:

Так как Console.WriteLine не возвращает значение, мы можем просто создать лямбду Sub вместо лямбды Function. Вот другой пример, где используется несколько выражений:

При выполнении этот код выводит две строки для каждого клиента

Также обратите внимание: если вы задержите курсор мыши над буквой c в процессе кодирования, то увидите, что компилятор логически определил тип как Customer (можно явно задать тип как c As Customer). Еще одно отличное применение лямбд выражений — динамическое подключение обработчиков событий:

И по сути, вы можете комбинировать лямбды выражений с языковым средством, введенным в Visual Basic 2008: нестрогими делегатами (relaxed delegates). (Делегаты — безопасные в многопоточной среде указатели на функции — позволяют выполнять одновременно несколько функций.) Эта комбинация позволяет еще больше упростить сигнатуру:

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

Кроме одно- и многострочных лямбд Sub, которые вы уже видели, Visual Basic 2010 поддерживает многострочные лямбды Function:

Другой интересный аспект лямбд выражений — то, как они пересекаются с анонимными делегатами, введенными в Visual Basic 2008. Их часто путают с анонимными методами в C#, хотя с технической точки зрения это вовсе не одно и то же. Анонимные делегаты создаются, когда компилятор Visual Basic логически распознает тип делегата, исходя из сигнатуры метода лямбды:

Если вы запустите этот код, в окне сообщения появится значение «4.5». Кроме того, если вы задержите курсор мыши над словом method, то увидите текст Dim method As <Function(String) As Double>. Поскольку мы не указали тип делегата, компилятор сгенерирует таковой автоматически:

Этот делегат называется анонимным, потому что появляется не в исходном коде, а только в сгенерированном компилятором. Заметьте, что компилятор логически определил тип возвращаемого значения как Double, когда в исходном коде фактически не было блока As, который сообщал бы тип значения, возвращаемый лямбдой. Компилятор просматривает все выражения return внутри лямбды и видит типы Double (4.5) и Integer (10):

Компилятор запускает свой алгоритм поиска доминантного типа и определяет, что значение «10» можно безопасно преобразовать в тип Double, но преобразовать «4.5» в Integer нельзя, поэтому выбирает Double.

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

Поскольку целевой тип был предоставлен явным образом, объявлять As String или As Single не требуется; компилятор может логически определить их на основе типа делегата в левой части выражения. В этом случае, если вы задержите курсор мыши над product, то увидите, что его тип логически определен как String. Указывать As Single больше нет нужды, поскольку тип делегата уже предоставил эту информацию. В предыдущем примере сигнатура делегата Func (поддерживаемого .NET Framework) выглядит так:

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

Макросы

Людям, постоянно повторяющим одинаковые манипуляции, требуется автоматизация однотипных задач. Для этого необходимо записать макрос, представляющий собой набор действий, запускающихся столько раз, сколько потребуется в конкретной ситуации. Что такое макросы, как они используются и «запоминаются», расскажет Николай Павлов. Николай является тренером по продуктам Microsoft Office, автором книги-руководства, создателем сайта «Планета Excel» и обучающего видеоблога. Он более 10 лет проводит тренинги для компаний и частных лиц, разрабатывает проекты, позволяющие автоматизировать бизнес-процессы.

Создание проекта

Сначала вы создадите проект приложения Visual Basic. Шаблон проекта по умолчанию содержит все файлы, необходимые для готового к запуску приложения.

Примечание

На некоторых снимках экрана в этом учебнике используется темная тема. Если вы не используете темную тему, но хотите переключиться на нее, см. страницу Персонализация интегрированной среды разработки и редактора Visual Studio.

  1. Запустите Visual Studio 2019.

  2. На начальном экране выберите Создать проект.

  3. В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.

    Применив эти фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.

    Примечание

    Если шаблон Консольное приложение отсутствует, его можно установить в окне Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.

    После этого в Visual Studio Installer выберите рабочую нагрузку Кроссплатформенная разработка .NET Core.

    Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре .

  4. В поле Имя проекта окна Настроить новый проект введите WhatIsYourName. Нажмите кнопку Далее.

  5. В окне Дополнительные сведения для целевой платформы должна быть указана версия .NET 5.0 (текущая версия) . Если это не так, выберите .NET 5.0 (текущая версия) . Затем нажмите Создать.

    Новый проект открывается в Visual Studio.

  1. Запустите Visual Studio.

  2. На начальном экране выберите Создать проект.

  3. В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.

    Применив эти фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.

    Примечание

    Если шаблон Консольное приложение отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.

    После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET.

    Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре .

  4. В поле Имя проекта окна Настроить новый проект введите WhatIsYourName. Нажмите кнопку Далее.

  5. В окне Дополнительные сведения в качестве требуемой версии .NET Framework автоматически должна быть выбрана .NET 6.0 (долгосрочная поддержка) . Если этого не произошло, выберите .NET 6.0 (долгосрочная поддержка) вручную. Затем нажмите Создать.

    Новый проект открывается в Visual Studio.

Примеры работы с файлами

Копировать

Допустим, у нас есть файл с именем 1.txt в папке C:\1\ , а нам нужно скопировать его в C:\2\  для этого пишем следующий код:

 Filecopy "C:\1\1.txt","C:\2\1.txt"

Примечание! Если в каталоге 2 уже находится файл с именем 1.txt, то он будет заменен на 1.txt из каталога 1.

Можно использовать и функции API:

Private Declare Function CopyFile Lib _ 
"kernel32.dll" Alias "CopyFileA" _
(ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Private Sub Command1_Click()
' Скопируем файл C:\1.txt в D:\1.txt.
Dim retval As Long ' возвращаемое значение
'Копируем файл
retval = CopyFile("C:\1.txt", "D:\1.txt", 1)
If retval = 0 Then 'Если ошибка
        MsgBox "Не могу скопировать"
Else 'Если все нормально
        MsgBox "Файл скопирован."
End If
End Sub

Удаление

Например, мы хотим удалить файл 1.txt из корня диска C:\

 Kill ("C:\1.txt")

Способ API

 Private Declare Function DeleteFile Lib _
 "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
 Private Sub Command1_Click()
 'Удаляем файл C:\Samples\anyfile.txt
 Dim retval As Long 'Возвращаемое значение
 retval = DeleteFile("C:\1.txt")
 If retval = 1 Then MsgBox "Файл успешно удален."
 End Sub

Перемещение

Можно, например, переместит и так:

 Filecopy "C:\1.txt","C:\2\1.txt"
 Kill ("C:\1.txt")

Но лучше так (через API):

 Private Declare Function MoveFile Lib _
 "kernel32.dll" Alias "MoveFileA" _
 (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long

 Private Sub Command1_Click()
        Dim retval As Long 'Возвращаемое значение
        retval = MoveFile("C:\1.txt", "C:\2\1.txt")
        If retval = 1 Then
                MsgBox "Успешно переместился"
        Else
                MsgBox "Ошибка"
        End If
 End Sub

Переименование

Для того чтобы переименовать файл 1.txt находящийся в C:\ на 2.txt можно использовать следующий код:

 Filecopy "C:\1.txt","C:\2.txt"
 Kill ("C:\1.txt")

Способ API

 Private Declare Function MoveFile Lib _
 "kernel32.dll" Alias "MoveFileA" _
 (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long
 Private Sub Command1_Click()
        Dim retval As Long ' возвращаемое значение
        retval = MoveFile("C:\1.txt", "C:\2.txt")
        If retval = 1 Then
                MsgBox "Успешно"
        Else
                MsgBox "Ошибка"
        End If
 End Sub

Определить размер файла

Размер файла можно определить двумя путями:

Если файл можно открыть функцией OPEN, то можно воспользоваться функцией LOF

 Dim FileFree As Integer
 Dim FileSize As Long
 FileFree = FreeFile
 Open "C:\WIN\GENERAL.TXT" For Input As FileFree
 FileSize = LOF(FileFree)
 Close FileFree

Или использовать функцию FileLen

 Dim lFileSize As Long
 FileSize = FileLen("C:\WIN\GENERAL.TXT")

Теория по Visual Basic

Вообще цель программирования — это написание команд для компьютера, которые смогут показать ему, что нужно сделать, например, напечатать отчет, подсчитать что-нибудь или просто развеселить Вас.

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

Для большинства людей изучение программирования доставляет определенные трудности. Первая и основная трудность связана с тем, что языки программирования, например C++ или Assembler, слишком сложны для понимания. Попытка изучить язык Assembler часто сравнима с  попыткой человека, владеющего русским или немецким, научиться разговаривать и писать на арабском или японском. Вторая трудность состоит в том, что пока Вы пишите команды для создания пользовательского интерфейса, в конце концов, у Вас не останется сил и времени на написание команд, которые и выполняют конкретные действия.

Чтобы решить обе проблемы, компания Microsoft разработала язык Visual Basic, а точнее среду программирования Microsoft Visual Basic, которая объединила в себе язык программирования BASIC и возможности быстрого создания пользовательского интерфейса простыми способами. В отличие от многих других языков программирования, BASIC был специально разработан для обучения основам программирования начинающих пользователей.

Что касается визуальных возможностей среды Visual Basic, то здесь Вы можете создавать свой пользовательский интерфейс без написания отдельных команд. Иными словами, Вы создаете интерфейс, как будто Вы рисуете себе картинку, без всяких проблем.

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

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

 Поэтому не важно, как написана программа и на каком языке. Важно лишь то, что она работает так, как Вы это запланировали

Visual Basic помогает реализовать идею быстрого создания пользовательского интерфейса простым способом. Пользовательский интерфейс служит двум целям: отображает информацию на экране и принимает от пользователя конкретные команды к действию.

Изучение с нуля

Программы на Бейсике составлять не слишком сложно. Чтобы обучиться основам разработки на нем, можно смотреть разнообразные уроки. А еще можно поискать сопутствующую литературу по интересующему ЯП.

Чтобы быстрее добиться успеха «с нуля», рекомендуется обратить внимание на дистанционные онлайн курсы. Пример – от образовательного центра OTUS

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

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

По окончании дистанционных курсов пользователи получают специальные онлайн сертификаты. Это – документальное официальное подтверждение имеющегося багажа знаний и умений.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: