Remkomplekty.ru

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

Vbs скрипты excel

Урок 1 по VBScript: Синтаксис vbs сценариев

В этом начальном уроке, мы изучим синтаксис vbscript языка. Синтаксис языка vbscript является таким же как и в языке Visual Basic и фактически, является подмножеством данного языка программирования. Основной упор в использовании vbscript – это возможность написания сценариев (расширение vbs) с открытым кодом для платформы Windows. Пользователю не нужно прибегать к установке дополнительного программного обеспечения, так как все сценарии выполняются под управлением сервера сценариев Windows Script Host.

И так, давайте рассмотрим базовый синтаксис vbscipt и его возможности.

  • Комментарии – для комментирования строк кода можно использовать ключевое слово REM , или одинарную кавычку (‘).
  • Строки кода – что бы произвести перенос одной строки на несколько, используется символ подчёркивания.
  • Переменные – для объявления переменных используется ключевое слово Dim . Более детально, работу с ними я рассмотрел в статье «Урок 2 по VBScript: Переменные»

Можно прописать несколько операторов в одну строчку, для этого используется знак двоеточия (:). Сам язык нечувствителен к регистру символов.

Хорошо, давайте рассмотрим синтаксис языка vbscript на таком примере:

Видим, что тут, мы вначале прописали комментарии, далее объявили три переменные. Как видим, язык vbscript не требует назначения типа данных (более детально, работу с типами данных я рассмотрел в статье – «Урок 3 по VBScript: Типы данных»). В конце, для вывода данных мы использовали функцию MsgBox, в данном случае она прописана в упрощенном варианте. Давайте рассмотрим ее полный синтаксис:

MsgBox(prompt[, buttons] [, title ][, helpfile, context ] ) – видим, что тут, функции передаются пять параметров, последние два мы рассматривать не будет, так как они не являются актуальными и практически не применяются.

  • prompt – собственно, сообщение, которое надо вывести
  • buttons – позволяет задать дополнительные кнопки, их значения указываются через константы
  • title – заголовок окна

Работу с данной функцией я более детально рассмотрел в статье «Создание диалоговых окон».

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

Конечно, синтаксис vbscript позволяет пользователю создавать собственные процедуры и функции. Для определения процедуры, т. е. подпрограммы, которая не возвращает никакого значения, в VBScript используется конструкция Sub . End Sub. После ключевого слова Sub идёт имя процедуры, а в круглых скобках указывается список её пара­метров, например:

Sub MyProcedure(Param1, Param2)
Строки кода
End Sub

Если процедура не имеет параметров, то в скобках после имени ничего ука­зывать не нужно:

Sub MyProcedure()

End Sub

Вызывать процедуру из сценария можно двумя способами. Во-первых, мож­но просто написать имя и указать через пробел список передаваемых параметров, например: MyProcedure 3,10. Во-вторых, можно использовать специальный оператор Call , при этом спи­сок параметров обязательно должен быть заключен в круглые скобки: Call MyProcedure(3,10) .

Для определения функции, т. е. подпрограммы, которая возвращает опреде­ленное значение, применяется конструкция Function . End Function. Как и при описании процедур, после названия функции в круглых скобках указывается список её параметров, например:

Function MyFunction(Param1, Param2) … End Function

Для того чтобы возвратить из функции какое-либо значение, нужно внутри неё присвоить это значение переменной, название которой совпадает с именем функции:

Function MyFunction(Param1, Param2)
Dim Sum
Sum = Paraml+Param2
MyFunction = Sum
End Function

Если возвращаемое функцией значение не нужно присваивать никакой пе­ременной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов: MyFunction 3,5

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

Вот простой пример синтаксиса vbscript для использования собственных процедур и функций:

Помимо процедур и функций, можно создавать собственные массивы (Урок 9 по VBScript: Массивы) и классы (Урок 8 по VBScript: Объекты и классы)

Ну что же, вдобавок, хотелось бы упомянуть две очень полезные функции:

  • Hex(number ) – функция позволяет получить 16-ричное значение для числа number
  • Oct(number) — функция позволяет получить 8-ричное значение для числа number

Регламентное задание для EXCEL через скрипт VBS

Начнем с подготовки функции для Excel файла c именем Demo.xls, заходим в исходный код (текст) «Лист1» нашей книги и прописываем пример:

‘strDate = Format(Now, «yyyyMMdd»)

‘Call SOAP_Upload(CStr(Base64Text), strDate & «_DocumentsStocks.zip»)

Данный пример SOAP_Upload вызов выполнять не будет, т.к. он за комментирован и процедура отсутствует в коде, но нам это и не требуется, смотрим только на то, что после выполнения функции GoToWebAuto() происходит запись в ячейку А8, а именно текущей даты.

Теперь переходим к скрипту и рассмотрим, что он должен выполнять, Start_Excel.vbs скрипт. в прил. Создаем в нем объект «Excel.Application», открываем наш файл «Workbooks.Open» и запускаем функцию:

Скрипт готов, но теперь чтобы он заработал в диспетчер задач Windows, подключим его через стандартный исполняемый файл и назовем его «Start_Excel.bat». В содержимое пропишем код для запуска VB скрипта.

call Wscript Start_Excel.vbs «run»

Теперь осталось исполняемый *.bat добавить в регламентные задания средствами «Диспетчера Задач» ОС Windows и запуск по расписанию функции Excel готов. Скрипта в итоге получилось два, но работоспособность выполнена.

Скачать файлы

Специальные предложения

Новый вопрос

Обновление 16.06.19 07:17

См. также

Конвертер из xls в xlsx

Программа позволяет перевести группу файлов из xls в xlsx.

30.05.2019 2075 GubinDenis 4

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

Сценарий PowerShell для конвертации файла правил обмена данными КД 2 в Excel

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

24.05.2019 2825 c1nil 5

Загрузка из Excel (без использования com-объектов, без установленного Excel)

Обработка не использует com-объект для чтения из файла, не нужен установленный Excel.

22.03.2019 10699 98 Смешной 1С 26

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

Читать еще:  Excel vba value

Вы больше не будете разбирать Excel как раньше

Кому не приходилось разбирать файлы в формате Excel? Все матерятся, плюются, требуют обещаний что «это в последний раз», но таки пишут загрузку из Excel. Потом форматы меняются, строки съезжают, колонки переставляют. Вам это не надоело?

07.05.2018 24008 64 m-rv 34

MS Office Excel для пользователей. Подводные камни и полезные возможности

Приветствую, дорогие читатели! Этот материал рассчитан на пользователей, имеющих минимальный опыт работы в MS Ofice Excel. Предполагается, что пользователь уже умеет рисовать таблицы, раскрашивать шрифты, границы, фон ячеек и т.п. В материале будет показано как облегчить свою повседневную работу настроив удобно интерфейс, изучите самые часто используемые функции, возможности и всё это на понятном и доступном языке. Меня часто просили научить работать в Excel, что однажды пришлось сесть и написал небольшой самоучитель в стиле «просто и коротко о главном». Читайте, учитесь, а если вас просят «Научи» или «Подскажи», то можете смело дать ссылку на эту статью, тем самым сэкономив своё время. Хотите, чтобы ваши сотрудники стали эффективней, тогда тоже, порекомендуйте им эту статью. Приятного изучения!

18.03.2018 15862 18 akor77 12

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника. ЗУП 3.1

Расчет начисления зарплаты со сложной формулой, по данным из внешнего источника по данным экономического отдела. ЗУП 3.1.

20.12.2017 35215 29 mvv1975 5

Приемы эффективной загрузки данных из Excel в 1С

Показаны приемы эффективной работы с Excel для загрузки данных в 1С.

13.12.2017 38255 85 alexey.kutya 79

Новый раздел на Инфостарте — Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

BUG. Копирование из 1С через RDP буфер обмена в Excel преобразует все значения в текст

При копировании из 1С RDP через буфер обмена в excel преобразует все значения в текст. (windows 10). Инструкция по устранению.

06.10.2017 14358 8 sergey279 5

Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2

Внешняя обработка «Загрузка дополнительных реквизитов и сведений справочника Номенклатура»

07.08.2017 31659 210 Windyhead 26

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно — для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

Обработка данных + загрузка из табличного документа + удаление объектов + поиск и замена значений (управляемые формы)

Простая и удобная обработка позволяет быстро выполнять множество операций над объектами базы данных с помощью запроса и скрипта обработки результата. Может загружать данные табличных документов во временные таблицы для последующей загрузки или для выборки данных по сложным условиям. Встроены обработки «Удаление объектов» и «Поиск и замена значений», в них можно передавать результаты запросов. Есть возможность сохранения скриптов и полученных результатов обработки. Часто использую для переноса данных между конфигурациями, когда результаты запроса в одной конфигурации загружаю этой же обработкой в другой. Скрипты с примерами прилагаются. Файлы xml открываются с закладки «Запрос, скрипт», файлы xmlf содержат все таблицы которые есть в обработке на момент сохранения, загружаются по кнопке «Загрузить все настройки». Примеры скриптов выложены в доступе

Основы языка JScript — написание WSH скриптов

Сегодня поговорим об очень полезном компоненте операционной системы Windows — это Windows Script Host, если быть конкретней, то о языке Jscript, на котором можно писать эти самые WSH скрипты.

Начнем мы с небольшой теории, так как мы еще не затрагивали Windows Script Host.

Что такое Windows Script Host?

Windows Script Host – сервер выполнения сценариев (скриптов) на таких языках как VBScript и JScript. WSH разработан компанией Microsoft и он является компонентом операционной системы Windows начиная с Windows 98.

Первоначально для администрирования использовались только bat-файлы, но их возможности ограничены (хотя также очень полезны!), поэтому компания Microsoft предложила такой вариант WSH. Возможности WSH-скриптов уже гораздо больше, ведь данные скрипты уже создаются на полноценных языках, таких как VBScript и JScript.

Именно о JScript мы сегодня и поговорим.

Но о VBScript мы тоже скажем пару слов.

VBScript – это скриптовой язык программирования, созданный компанией Microsoft для разработки скриптов в операционной системе Windows. Другими словами, это один из языков, которые может интерпретировать Windows Script Host. И из названия ясно, что VBScript основан на языке Visual Basic, поэтому тем, кто знаком с Visual Basic будет просто писать WSH-скрипты на этом языке программирования.

JScript – скриптовой язык программирования, с помощью которого можно создавать (писать) скрипты, которые будут интерпретироваться компонентом Windows Script Host.

С первого взгляда JScript во многом похож на JavaScript (ECMAScript), это и естественно, так как синтаксис, некоторый объекты, методы, свойства аналогичны JavaScript. Но это все же не JavaScript, а именно JScript. JavaScript (ECMAScript) ориентирован на объекты браузера, а JScript уже на компоненты операционной системы Windows. Но как мы сказали, они похожи, поэтому те, кто владеют языком программирования JavaScript с легкостью перейдут на JScript.

Читать еще:  Vba excel filedialog

Возможности Windows Script Host

А теперь давайте поговорим о том, зачем нам нужно писать эти самые WSH-скрипты, т.е. об их возможностях и преимуществах:

  • Возможность взаимодействия с файловой системой (файлы, каталоги), системным реестром, ресурсами локальной сети;
  • Взаимодействие с такими продуктами как Microsoft Word, Excel и другими программами. Т.е. например, мы можем создавать excel файлы или конвертировать другие форматы в excel файлы;
  • Взаимодействие с ActiveX-технологиями, например: ActiveX Data Object (ADO) — доступ к базам данных разных форматов, Active Directory Service Interface (ADSI) — работа со службами каталогов Active Directory;
  • Наличие полноценного языка программирования, с помощью которого можно реализовывать сложные алгоритмы, которые например нельзя реализовать с помощью bat файлов.

Скрипты на JScript имеют расширение .js такое же, как и на JavaScript за исключением того, что эти скрипты обрабатывает не браузер, а Windows Script Host.

На JScript возможно даже реализация графического интерфейса через объект браузера (internet explorer), согласитесь это уже полноценная программа.

Примеры написания WSH скриптов

Перейдем к практике, так как у нас сегодня статья по основам, мы рассмотрим простые примеры написание скриптов на JScript.

Примечание! Для того чтобы попробовать примеры ниже скопируйте код любого примера в текстовый файл и сохраните с расширением .js, например, test.js.

Выводим сообщение на JScript

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

Этим объектом является WScript. Пример его использования на Jscript:

Тем самым мы создали объект, с помощью которого мы можем получить доступ к компонентам Windows.

Например, вывести сообщение:

Работа с Excel на JScript

Теперь давайте создадим другой объект, например, Excel файл:

Как Вы понимаете, мы имеем доступ ко всем свойствам в Excel, другими словами, мы можем изменить внешний вид, задать формат ячеек и многое другое. Для примера давайте поэкспериментируем с некоторыми свойствами:

Работа с текстовым файлом и Excel на JScript

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

Для того чтобы настроить взаимодействие с файловой системой, необходимо создать объект FileSystemObject, который работает с файлами и каталогами. Вот пример небольшого скрипта, который считывает данные из текстового файла построчно и записывает их в Excel документ, причем мы все строки пронумеруем и зададим ширину столба для данных в Excel:

Пример текстового файла:

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

Я думаю для начала этого вполне достаточно, в дальнейшем мы будем разбирать задачи посложней, ведь при помощи Jscript в WSH можно очень много чего сделать, гораздо больше, чем с помощью простых bat файлов. До встречи!

Vbs скрипты excel

Приветствую тебя, читатель моего блога. Я начинаю свою серию уроков по программированию VBScript этой ознакомительной статьёй. Вам предстоит узнать основы основ данного языка программирования.

VBScript — Это скриптовый язык программирования. Как и любой другой скриптовый язык VBScript урезан в своих возможностях. Но то, что он урезан ещё не говорит что он не интересен.

Вступление

В этом уроке мы узнаем:

  • Основные особенности VBScript.
  • Что такое переменные и с чем их едят.
  • Простейшая функция MsgBox.

Язык VBScript на мой взгляд простой и понятный даже для ничего незнающего школьника. Сценарии VBScript можно создавать в простом блокноте, что облегчает нам с вами задачу, так как не надо скачивать каких либо дополнительных программ. Однако я рекомендую скачать бесплатную программу Notepad++. Он очень удобен тем, что подсвечивает сам код и показывает номера строк, что очень пригодится при возникновении ошибки.

Так же надо знать ещё две вещи о VBScript:

  • Расширение файла *.vbs
  • В коде не учитывается регистр (большие или маленькие буквы)

Приступим…

Создаём текстовый документ и сохраняем его с расширением *.vbs (Тип файла: все файлы. К названию файла подставить .vbs). Дальше открываем получившийся файл при помощи блокнота или любой другой программы для работы с текстом, например Notepad++. Вставляем код ниже, сохраняем и запускаем двойным щелчком мыши:

Теперь разберём эту «головоломку» по частям.

Первые три строки — это комментарии. Они не как не влияют на работу сценария. Что бы оставлять комментарии используется ключевое слово «Rem» или единичная клавиша . Комментарии можно оставлять в любом месте кода, но надо учитывать, что после объявления комментария всё содержимое строки, которое идёт дальше, учитываться не будет.

На пятой строке перечислены все переменные, которые мы с вами будем использовать (a, b, c, d). Они бывают явными и не явными, но об это я расскажу попозже. Переменные объявляются ключевым словом «Dim».

С седьмой по десятую строку мы назначаем значение переменных. В данном случае это три числа и строка (10, 20, 40, «пробная срока»). Прошу обратить внимание, что все строки заключаются в ковычки.

На двенадцатой строке мы выводим значение всех переменных при помощи функции MsgBox. В данном примере у нас вылезет окошко с числом 10, а после нажатия кнопки «ОК» вылезет окошко с числом 20 и т.д. .

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

Итак, что мы видим? Наши три строки с функцией MsgBox превратились в одну. В данном случае язык VBScript позволяет прописать несколько операторов в одну строку используя двоеточие.

Теперь что касается не явных переменных. Такими являются все переменные которые не были назначены после ключевого слова «Dim». В данном случае таковой является переменная «f» на тринадцатой строке. Такие переменные не нарушают работу сценария, но если его код очень большой, то Вы можете попросту запутаться в своих переменных.

Для того что бы ни допустить этого, нам на помощь приходит оператор «Option Explicit» с пятой строки. Если данный оператор поставлен в вашем сценарии, то из-за не объявленных переменных будет выдавать ошибку, пока эту переменную не объявят после ключевого слова «Dim».

Читать еще:  Vba excel типы переменных

Так же я рекомендую писать значение всех переменных по возможности в одном месте и как можно выше к ключевому слову «Dim». Впрочем, я сам любитель пренебречь этим правилом =).

Вроде всё хорошо, но хочется чего то большего. Давайте выведем значение переменных одним окошком!

В данном примере у нас уже не выдаст ошибку, так как мы объявили переменную «f» после ключевого слова «Dim».

Теперь давайте рассмотрим три примера вывода значений переменных функцией MsgBox.

На пятнадцатой строке приведён пример где мы объединяем значение переменных при помощи знака «&». Значение переменных выведется одной строкой без пробелов. Думаю нам так не пойдёт, но это может пригодиться.

На шестнадцатой строке показан пример где значения переменных будут выведены одной строкой и разделены Tab’ом при помощи константы «vbTab» и всё того же связующего знака «&».

На семнадцатой строке мы видим вывод значения каждой переменной с новой строки. В этом нам помогает константа «vbCrLf».

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

Надеюсь эта статья помогла снять завесу тайны с языка VBScript и вы заинтересовались этим чудесным языком программирования. Ждите новых уроков в которых Вы узнаете ещё много нового и интересного. Удачи! =)

Как запустить файл с включенными макросами?

В данной статье хочу описать вкратце способ, как можно запустить какой-то файл Excel с разрешенными макросами. Зачем это надо: бывают ситуации, когда Вы высылаете файл с макросами и хотите, чтобы его открывали только с разрешенными макросами, т.к. без них он бесполезен (как правило через макросы выполняются некие операции при работе с файлом). В принципе есть способы заставить пользователя работать с файлом только при включенных макросах. Самый простой (способ 1) — это заставить его именно разрешить их выполнение, прежде чем начать работу с файлом.

Вариант 1:
Самый простой и легко исполняемый способ. Создаете в нужной книге новый лист. Называете его «WARNING». На листе мы пишем инструкцию по действиям пользователя для включения макросов. Что-то типа:
Для работы с файлом требуется разрешить макросы!
Excel 2003: Сервис- Безопасность- Уровень макросов «Низкий»
Excel 2007: Меню- Параметры Excel- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы;
Excel 2010: Файл- Параметры- Центр управления безопасностью- Параметры центра управления безопасностью- Параметры макросов- Разрешить все макросы.
И скрываем все листы в книге, кроме листа «WARNING». Теперь в остается дело за малым: в модуль книги вставляете следующий код:

‘Данная процедура скрывает перед закрытием книги все листы, ‘кроме листа «WARNING» Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.ScreenUpdating = False Dim wsSh As Worksheet Sheets(«WARNING»).Visible = -1 For Each wsSh In ThisWorkbook.Sheets If wsSh.Name <> «WARNING» Then wsSh.Visible = 2 Next wsSh ThisWorkbook.Save End Sub ‘Данная процедура показывает перед открытием книги все листы, ‘кроме листа «WARNING» Private Sub Workbook_Open() Dim wsSh As Worksheet For Each wsSh In ThisWorkbook.Sheets wsSh.Visible = -1 Next wsSh ThisWorkbook.Sheets(«WARNING»).Visible = 2 End Sub

Из кода видно, что если макросы будут отключены, то код Workbook_Open не будет выполнен. Следовательно пользователь увидит только лист «WARNING», на котором у нас написаны инструкции по включению макросов, которые ему в любом случае придется выполнить, если есть желание работать с файлом.

Вариант 2:
Этот способ подразумевает создание отдельного файла, который будет запускать файл Excel. Я предоставлю на выбор либо скрипт VBS, либо созданный мной файл EXE. В чем прелесть. При использовании данного способа совершенно неважно запущен ли уже у пользователя Excel или нет, разрешены ли макросы. Скрипт или EXE сам все запустит и разрешит.
Что такое скрипт VBS? Это обычный текстовый файл, сохраненный с расширением VBS. Такой файл распознается операционной системой как исполняемый и код, расположенный в нем, запускается при двойном щелчке на файле. Чтобы создать такой файл необходимо: создать обычный текстовый файл. Открыть его. Записать в него текст:

test Sub test() Dim objXL Dim Secur Set objXL = CreateObject(«Excel.Application») objXL.Visible = TRUE secur = objXL.AutomationSecurity objXL.AutomationSecurity = 1 objXL.Workbooks.Open replace(Wscript.ScriptFullName,».vbs»,».xls»). «4321» objXL.AutomationSecurity = secur End Sub

Сохранить. Поменять расширение текстового файла с .txt на .vbs.
Если не отображается расширение:
Панель управленияСвойства папки(для Win 7 — Параметры папок)- вкладка Вид— Снять галочку с «Скрывать расширение для зарегистрированных типов файлов»
Скрипт запускает файл Excel, имя которого совпадает с именем скрипта и расположенного в той же папке. В примере к статье это файл «Test». Таким образом Вы можете давать любое имя файлу Excel и файлу скрипта, лишь бы они совпадали. Т.е. назвав скрипт «Run», Вы должны будете и файл Excel назвать так же — «Run». В приведенном коде так же есть возможность указать пароль для открытия файла. Это сделано для того, чтобы при попытке запустить файл Excel без скрипта был запрошен пароль. Т.е. без скрипта файлом не воспользоваться.
Плюсы использования скрипта:

  • пользователь совершает минимум действий
  • макросы разрешены как ни крутись

Минусы:

  • необходимость создания отдельного файла и привязка к имени
  • возможность подсмотреть пароль к файлу, просто сменив расширение файла-скрипта на .txt
  • возможность сменить/снять пароль к файлу после его открытия скриптом(можно избежать, внеся некоторый код в файл. Например сохранять только с нужным паролем). В примере пароль к файлу: 4321

Файл EXE. Долго пояснять не буду. Основные моменты все те же, что и со скриптом, т.к. в принципе это одно и то же, за исключением того, что код файла EXE нельзя подсмотреть, просто сменив расширение. А это значит, что и пароль к файлу подсмотреть тоже не получится(без использования специальных навыков и программ). Создается такой файл в специальной программной среде: С++, VisualBasic, Delphi и т.п. Основной минус: нельзя поменять пароль к файлу, не скомпилировав новый файл EXE. Т.е. если планируете использовать не с одним файлом, то надо всем им давать один и то же пароль, либо вообще не устанавливать пароль на открытие.

В примере вы найдете файлы с примерами реализации всеми описанными способами:
Скачать пример:

Run_Wit_Macro.zip (28,1 KiB, 3 266 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

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