Как создать макрос в 1с

Обновлено: 07.07.2024

Всем нам приходится - кому реже, кому чаще - повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую "рутинную составляющую" - одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.

Макрос - это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.

Способ 1. Создание макросов в редакторе Visual Basic

Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встроенный в Microsoft Excel.

macro1.jpg

  • В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис - Макрос - Редактор Visual Basic(Toos - Macro - Visual Basic Editor).
  • В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer) . Выбираем Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer) . Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic(Visual Basic Editor)

    :

К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:

macro2.jpg

Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:

    Обычные модули - используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert - Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:

macro3.jpg

macro4.jpg

macro5.jpg

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

macro6.jpg

Давайте разберем приведенный выше в качестве примера макрос Zamena:

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

Способ 2. Запись макросов макрорекордером

Макрорекордер - это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:

  • Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу - запись останавливается.
  • Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
  • Если во время записи макроса макрорекордером вы ошиблись - ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) - во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.

Чтобы включить запись необходимо:

  • в Excel 2003 и старше - выбрать в меню Сервис - Макрос - Начать запись(Tools - Macro - Record New Macro)
  • в Excel 2007 и новее - нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)

Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:

macro7.jpg

  • Имя макроса - подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
  • Сочетание клавиш - будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис - Макрос - Макросы - Выполнить(Tools - Macro - Macros - Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
  • Сохранить в. - здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
    • Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
    • Новая книга - макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
    • Личная книга макросов - это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.

    После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording) .

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

    Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или - в старых версиях Excel - через меню Сервис - Макрос - Макросы (Tools - Macro - Macros) :

    macro8.jpg

    • Любой выделенный в списке макрос можно запустить кнопкой Выполнить(Run) .
    • Кнопка Параметры(Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
    • Кнопка Изменить(Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.

    Создание кнопки для запуска макросов

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

    Кнопка на панели инструментов в Excel 2003 и старше

    Откройте меню Сервис - Настройка (Tools - Customize) и перейдите на вкладку Команды (Commands) . В категории Макросы легко найти веселый желтый "колобок" - Настраиваемую кнопку (Custom button) :

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

    Кнопка на панели быстрого доступа в Excel 2007 и новее

    Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar) :

    macro11.jpg

    Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:

    macro12.jpg

    Кнопка на листе

    Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:

    • В Excel 2003 и старше - откройте панель инструментов Формы через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms)
    • В Excel 2007 и новее - откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)

    Выберите объект Кнопка (Button) :

    macro13.jpg

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

    Создание пользовательских функций на VBA

    Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).

    Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции:

    macro14.jpg

    Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (User Defined) :

    macro15.jpg

    После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:

    Готовое построение или его часть можно записать в качестве макроса, который позволит впоследствии воспроизвести это построение, указав только объекты-аргументы, на которых оно базируется. Таким образом, макрос представляет собой своего рода пользовательский инструмент. Все доступные для использования макросы хранятся в специальной Библиотеке макросов.

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

    Иконка Вызов из меню Быстрый вызов

    Макросы > Библиотека макросов. F7

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

    Меню Макросы

    В левой части диалога Библиотека макросов отображается структура папок библиотеки. При помощи соответствующих кнопок можно:

    Свойства макроса

    Данная вкладка в правой части диалога позволяет отредактировать папку или макрос.

    Название – поле для ввода названия выделенного макроса или папки. Слева от этого поля располагается выпадающий список, из которого можно выбрать иконку для макроса или папки либо загрузить свою.

    Исходные данные (аргументы) – информационное поле, содержащее список объектов, являющихся аргументами макроса.

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

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

    Шаги построения – таблица для ввода подсказок в статусной строке к шагам макроса.

    Хранить только в файле построения – если выбрана эта опция, то макрос будет доступен только в текущем файле, иначе – в любых файлах.

    Запустить – кнопка запускает выбранный макрос.

    Импорт и экспорт макросов

    На второй вкладке Импорт/экспорт в правой части диалога можно экспортировать макросы из библиотеки в отдельный файл специального формата с расширением *.mcr (например, для передачи кому-либо), а также загружать макросы из аналогичных файлов в библиотеку.

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

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

    Внешний mcr-файл – поле, где представлена структура выбранного или созданного mcr-файла. Импорт и экспорт осуществляется при помощи кнопок:

    © ООО «1С-Паблишинг», 2007-2021
    © ООО «Виртуальная лаборатория», 2009-2021

    9. Использование макросов

    9.1. Создание простого макроса

    Макросом называют набор из одной или более макрокоманд, представляющих собой заранее созданные программы, которые выполняются после определенных действий пользователя или СУБД. В среде Access макрос состоит из действий, которые в пошаговом режиме выполняются в случае наступления определенного события, например щелчка мышью по командной кнопке. В разделе 8.3 дано описание создания макроса, который создан с помощью Мастера. Но для расширения возможностей разработчика базы данных макросы создаются в MS Access с помощью Конструктора макросов ( Macro Design ).

    Конструктор макросов представлен на рис. 9.1.


    Окно конструктора макросов состоит из двух полей. Верхняя часть окна называется – область описаний, а нижняя часть – область аргументов макрокоманды. Для того, чтобы начать создавать макрос, можно в строке меню нажать на пиктограмму (новый объект) и выбрать в раскрытом меню строку . Другим способом вызова конструктора макросов, является выбор пиктограммы Макросы среди объектов базы данных и пиктограммы - Создать. При использовании любого способа, будет открыто окно для создания макроса с помощью конструктора (рис. 9.1).

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

    Предположим, мы хотим решить простую задачу – создать макрос, который позволяет открывать таблицу «Сотрудники». Поэтому в списке макрокоманд выбираем – «Открыть Таблицу». С правой стороны существует поле «Примечание», в которое можно вводить текст с пояснением (комментарии). После заполнения строки с макрокомандой, в области аргументов макрокоманды появятся строки (количество строк зависит от макрокоманды), в которых выбирается из списка наименование таблицы (это могут быть и запросы, и формы, и страницы). Кроме того, можно задать режим ввода данных. На рис. 9.2 показано сформированное окно для макроса.


    Закрыть окно макроса (рис. 9.2), в соответствии с реакцией системы, сохранить макрос и задать ему имя, например, «Макрос1-Таблица Сотрудники».

    Запуск макроса всегда можно осуществить из окна базы данных через объект Макросы.

    9.2. Разработка кнопки для запуска макроса

    Макросы можно встраивать в другие макросы или в программы на Visual Basic for Application , а также использовать автономно. В том случае, когда макросом необходимо часто пользоваться, тогда в строку меню базы данных добавляют кнопку для запуска макроса или создают целую панель с перечнем макросов. Рассмотрим, как создать кнопку в строке меню базы данных для запуска макроса.

    1. Щелкнуть правой кнопкой мыши в области панели инструментов и в раскрывшемся контекстном меню выбрать строку «Настройка», как это показано на рис. 9.3.


    2. Перейти на вкладку Панели инструментов в окне «Настройки» и нажать на кнопку «Создать». Появится диалоговое окно, в котором предлагается создать панель инструментов с именем «Настраиваемая 1», как это показано на рис. 9.4.


    3. Введите имя панели, например, «Запуск макроса» и закройте окно кнопкой «ОК».

    4. Закрыть окно «Настройка», после чего на экране появится новая панель рис. 9.5.


    5. Перетащите из списка существующих макросов мышкой на созданную панель инструментов (рис. 9.6), после чего эту панель можно установить на экране где угодно.


    Примечание: если созданная панель не будет отображаться в окне базы данных после того, как пользователь запустит базу данных, то эту панель всегда можно вызвать. Для чего следует открыть окно «Настройка» (смотри п. 1), найти в списке запись с именем панели (в примере панель назвали «Запуск макроса»), поставить против записи пометку и закрыть окно.

    9.3. Встраивание макроса в форму

    Решение поставленной задачи осуществляется по следующей схеме:

    1. Раскрыть новое окно Конструктора макросов.


    2. Щелкнуть мышью по пиктограмме (Условие), при этом откроется окно конструктора с дополнительным полем «Условие».


    5. В первой строке окна построения макроса в столбец Условие необходимо ввести выражение, которое будет определять условие проверки содержимого поля «Должность на фирме» в таблице «Должности-форма главная», созданной в результате построения формы. Выражение должно быть представлено в следующем виде: [Формы]![Должности-форма главная]![Должность на фирме]="Инженер"

    Такое выражение ввести вручную довольно сложно, поэтому следует подключить приложение Построитель выражений и с его помощью сформировать запись, в которой производится сравнение наименования должности с константой «Инженер», после завершения записи выражения следует закрыть Построитель выражений.

    6. Во вторую строку макроса в столбце Условие поставить три точки ( … ), что означает не выполнять макрокоманду, если условие не выполняется. В столбце Макрокоманда выбрать из списка и занести «Открыть Запрос». В поле Аргументы макрокоманды указать имя запроса (этот запрос был выполнен ранее и получил название «Поиск инженеров»).


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

    · Открыть форму «Должности-форма главная» в режиме конструктора (рис. 9.9).

    · Выделить поле, в котором должна отображаться «Должность на фирме», как это показано на рис. 9.9.



    · Закрыть форму и сохранить с тем же именем.

    9. Провести тестирование работы макроса с условием, для чего необходимо выполнить:

    · Запустить форму «Должности-форма главная» из базы данных (рис. 9.11).


    · Пролистать записи в форме, когда в поле «Должность на фирме» появится слово Инженер, то должно открыться окно, которое показано на рис. 9.12.


    · После того, как будет нажата кнопка «ОК» на экране появится таблица из запроса «Поиск инженеров», показанная на рис. 9.13.


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

    Вопросы для самоконтроля

    1. В каких случаях используют макросы в БД Access ?

    2. Какими способами можно запустить готовый макрос?

    3. Какие средства используют для создания макросов?

    4. Как создать макрос в режиме Конструктор макросов?

    5. Почему создают панель инструментов с макросами?

    6. Что необходимо сделать, чтобы создать макрос с условием?

    7. Какие команды для работы с макросом вы можете назвать?

    Задания для самостоятельной работы

    · Создайте макрос и кнопку для его запуска, чтобы открыть таблицу «Сотрудники».

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

    · Создайте макрос с условием, которое позволяет найти фамилии, получившие льготу «Отдых».

    Например, бухи забили в справочник в реквизит наименование спецкод+наименование"010101 Болт""010102 Гайк"потому что не было реквизита "Спецкод" и они, умные такие, решили этот вопрос самостоятельно.Создал реквизит "спецкод"Открыл этот справочникЕсть два поля"010102 Гайк" и ""Как сделать макрос на Windos script чтобы он из реквизита вырезал первое слово и вбивал его во второй реквизит?Я понимаю, что можно обработкой.Просто хочется узнать этот и путь решения. ;-)

    т.е. как? скрипт на WSH который бы работал из под OS и изменял реквизиты справочника?Тогда только напрямую лезть в таблицы придется, (если WSH умеет работать с Dbf)

    А зачем Windows Script? У тебя есть 1с-script :-)Через Найти ищи пробел, отрезай по нему первую часть и копируй куда надо.

    Именно через WSH!Он же может эмулировать нажатие клавиш и копировать в Буфер обмена и прочая лабуда ? Потому, что через 1С муторно.

    То 3. У тебя температура. Или ты извращенец. В любом случае срочно к врачу!Написать такую обработку на 1С - потрать несколько минут.

    Ну не нужна мне 1С, я желаю научиться делать такое в WSH , а не в 1С.Мало ли чего.Зато это потом можно будет приспособить и Word и в Excel и Notepad.Причем там 1с?

    "Причем там 1с?"А этот форум "Территория WSH", наверное, называется.

    а какие проблемы то?? открываете учебник по VB. и вперед. или вы "желаете" что б за вас написали??

    "Он же может эмулировать нажатие клавиш и копировать в Буфер обмена и прочая лабуда ?"+ кажется, чтобы это реализовать в оперативке должна постоянно висеть какая-то программулина, отслеживающая ВСЕ действия пользователя и обладающая элементами искуственного интеллекта, позволяющими определить контекст выполняемого действия. Я уверен, что если за большие деньги нанять десяток-другой японских специалистов по кибернетике, то через пару лет вам предложат бетта-версию этого чуда.

    Нифига себе. а я ещё долго не заглядывал в эту ветку, думал, неинтересная. вообще, такая постановка задачи слишком проста. недостаточно изврата. стоит сразу заняться посторйкой робота, который будет сам сидеть вместо юзера и нажимать на нужные кнопки, более того, он сам определит своим AI, что нужно именно вырезать спецкод.В перспективе есть задача построить ЭВМ, которую потом снабдить программой для автоматизированного проектирования этого робота. В общем, землянам будет чем заняться. Вместо того, чтоб набросать прогу на встроенном языке в 10 строк.

    2. Вы уж определитесь, что вам нужно. Если судить по вашему вопросу в теме "Как сделать макрос в 1с?", то ответ - никак (в общем случае, т.е. 1С не поддерживает скриптов). Реализовать же задачу описанную в вашем постинге можно за 3 минуты на встроенном языке 1С. Если же вас все же интересует, цитирую: "Как сделать макрос на Windos script чтобы он из реквизита вырезал первое слово и вбивал его во второй реквизит?", то отвечу, как. 1. Открыть любой текстовый редактор и написать в нем скрипт.2. Привинтить данный скрипт, например, при помощи собственной ВК к 1С.

    to 6. Знаешь вворде и экселе есть такая вещь - макрос, вот через нее это можно быстро для ворда реализовать, а в 1С реализуй средствами 1С, зачем тебе некий абстрактный универсальный скрипт.Можно утрируя поставить задачу так - нафик мне 1С - как написать скрипт который бы вел бухгалтерский учет.

    2(ALL) да хватит вам его лечить и отговаривать, все равно сделает и на проклабе еще опубликует :-)))2(DES) если ты про КЛАВИАТУРНЫЕ и если ты согласен записывать ВРУЧНУЮ, тоSendKeys тебе должно в некоторой степени помочь - это метод объекта WshShellкак сочинить сам скрипт - rtfm (ветки посвященные телепату тебе как раз и помогут, ключевое слово я назвал)а повесить на написанный скрипт шорткат в 1С можно написав обработку сей скрипт вызывающую. з.ы.все равно полный маразм

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

    А еще есть такая прикольная штука, как win 3.1, или чуть более ранняя, так там был рекодер всех действий пользователя, потом Билл почему-то передумал

    Ну так хлопцы!Помогите начать. Гусары - молчать!Как на хоткей в 1С повесить выполнение файла DES.WSH (vbs) ?Как выделить поле под курсором ?А дальше я сам въеду .

    С 1С это, конечно же, извращение :-)А вот была у меня как-то раз задача конвертнуть несколько сот тысяч (12 Гб)файлов .txt в .doc.На WSH в десятке строк написал. Ну и плюс работа компа течение нескольких дней

    Человек задал вполне вменямый вопрос. Корректно поставил задачу. Из него ничего не пришлось вытаскивать тисками.Поведение же остальных показывает, почему 1С-ков называют тупыми.

    Не слишком ли категорично по-поводу тупости? ИМХО тупость это тратить свое время на бесполезности.

    А он что, просил учить его жить? По-моему вопрос был совсем про другое.

    Просто форум надо выбирать по категории, а не лепить сюда типа хочу и все. Форум называется террия 1С, и как говорил не Территория WSH

    Да не, просто парню уже сколько говОрено, что на 1С это ПРОЩЕ и БЫСТРЕЕ, а он уперся на своем. Ради бога - каждый сам себе хозяин, но, согласись, это весьма непродуктивный подход к задаче. А если ему надо будет перекодировать подчиненный справочник? Представляешь решение через SendKeys? Хотя это уже будет в какой-то степени произведением некоего искусства.з.ы. гы. а если задача будет загрузить по ОЛЕ?

    THX можешь мне помочь? разве кто над Вами насильничает ? Ну правильно говорят же, не учите меня жить, лучше помогите скриптом.

    Нет, ну просто поразительно!Я же в ТЗ написал все.Ну сделаю я это в 1С в сотый раз и что, я пойму как делать это на WSH?

    Хотя не эгри, перечитал ветку, одинэсники в данном случае правы, я нифига не пойму что хочет DES. Как он собирается обращаться к окнам, как он собирается их искать?

    Так бы сразу и сказал - "Изучаю WSH". ИМХО тогда тебе действительно на форум WSH.

    Спасибо конечно.Но не переварю я 300 кило.Может кто это уже проделал и поделится выжимками ?

    делаю файл DES.WSHSet oWshShell = WScript.CreateObject ("WScript.Shell")oWshShell.SendKeys "Hello, world"запускаю, пишет "Сценарий не указан".Что за черт ?

    может на 1с стоит написать, в ветке более 40 (сорока!) постов, строк в обработке меньше :)тут вариантов целый список будет - соревнование устроим как лучше этот "Спецкод" из наименования вырезать с использование списков или таблицы значений, вот посмотри например >а то что ты просишь. ну не по адресу

    Судя по оптимистичному началу ("Hello, world"), лучше делать ставки за сколько времени появится нужный результат. DES, без обид - это чисто спортивный интерес.

    Да знаю я. У меня 20 лет стажа прогера. А если есть варианты более быстрого получения ответа на интерес. меня вопрос кроме RTFM ?Как например: задать четкий вопрос и получить точный ответ.В ТЗ написано начем нужно писать. И дело не в вырезании Спецкода. Вопрос в скелете. Покажите на пальцах, а мясо наростим сами. Какие обиды. Сам тут отвечал, кажись как из 1с в excel добавить лист и ничего не умер от жлобства. 1000$ в силе до Второго Пришествия.

    49 Описание по методу SendKeys составляет порядка 100 строк в документации по WSH, в каком виде вы бы хотели их увидеть?oWshShell.SendKeys "Hello, world" говорит о том, что вы вообще не понимаете что это такое.

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

    А что, собственно, криминального в oWshShell.SendKeys "Hello, world"?

    это все звучит в стиле " напишите мне. а то я не умею, а книжки читать лень".

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

    ну, не лень!Нет книжек, нет времени, нет еще чего . Кому жалко делиться знанием, того никто и не принуждает.

    Если у тебя нет времени, то нечего лезть на конференцию с глупыми вопросами.Тем более, если ответы на них можно получть самому. RTFM. Файла DES.js (найди десять отличий):Это то, что лежит на поверхности. Далее можно копать - установить свежую версию WS. Можно было получить результат за время между репликами.А то, как невежливо общается в конференции DES напоминает мне поберушек, которые не просто сидят у дороги, а ещё и дёргают за рукав прохожих

    Да не - на поверхности лежит тот факт, что у него расширение файла неправильное.

    за мораль спасибо.CScript des.js //H:WScript - это получилось. Ура! Спасибо.Большое спасибо.Дальше будем думать, импульс получен.

    "Иногда пинок под зад больше помогает продвижению по службе, чем дружественное похлопываение по плечу"Извини, сорвался. Расширение - это первый факт, лежащий на поверхности. Далее следует наличие скобок и точек-с-запятой. А потом (не в каждом случае проявляется, но полезно) //H:WScriptЭто то, что я нарыл из любопытства за полчасика в интернете.В скриптах я такой же чайник, что и DES.И вообще, как справедливо заметил в Без тапок, recorder от Windows 3.1 (3.11) - великая вещь. 50k и тонна удовольствия! Я её и сейчас использую. Записывать макросы легко. И работает даже в 2000.Ещё можно порекомендовать AllChars. Там можно много горячих клавиш сделать, а не 4 десятка, как в recorder. В 2000 не проходят русские буквы :-(

    Да, не извиняйся. Меня это уже не задевает. За свои 20 лет стажа я понял, что за оставшиеся 20 я все равно все не выучу.Мне не нужны левые примочки. мне нужен механизм, позволяющий на стандарной XP делать мелкую автоматизацию рутинных процессов.Эту задачу мне на моем веку приходилось делать и на первом FPD и на Oracle 9, про 1С не забыл.На скриптах не писал еще, ну не довелось.Все бросить и начать системно изучать не могу.Был бы благодарен за подобную помощь, как , без нравоучений.

    "Далее следует наличие скобок и точек-с-запятой" - В варианте DES используется VBScript(расширение должно быть .vbs), стало быть скобки и точки-с-запятой не нужны."А потом (не в каждом случае проявляется, но полезно) //H:WScript" - этот параметр и так используется по умолчанию.

    Привет! Мож я конечно тоже чудак. :>Процедура ПериодическиеДействия

    файл Automation.zipНе грусти, нас мало, но мы в тельняшках :

    За vbs спасибоА //H:WScript, видимо, полезно только мне. Может быть, на своей машине я сбил какие-то настройки.

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

    Читайте также: