Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


Сообщения: 36568
Благодарности: 6698


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 27-01-2008
Внимание!
Тема переведена в архивное состояние







(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.


Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).
Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).



Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Maza Faka, Sanja Alone,
к сожалению эксель появляется открыто, "мелькает" так сказать...потому что файл появляется в результате принудительной выгрузки из другой программы (та программа так делает, по-другому никак).
вот и висит этот листик на экране, и сохранить его в нужное место с нужным именем и закрыть- задача номер один....
спасибо за подсказку, Objekt - это интересная идея, но результат выполнения такого скрипта - "лежащее " окно "сохранение документа" , и вытящить его на поверхность чтобы ввести наконец нужное имя файла никак не удается(((
и еще в связи с этим, в вашем примере $sFilePath = 'D:\MyDoc\Sample.xls' ;путь файла для выполнения действий над ним
непонятно , а каком месте оно применимо( ведь команда Save не предполагает опций - куда и с каким именем...
в англоязычном хелпе ничего не нашлось по этому поводу(((
Спасибо за ответ.

Creat0R, не работает этот вариант( все равно пишет s(((
кстати пробовала WinMenuSelectItem - не могу добиться чтобы работало хоть где-нибудь! хотя бы в том же самом вордпаде(((

Отправлено: 10:27, 14-08-2007 | #301



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

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


Аватара для spooll

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Блин, протестил на нескольких компах, все ок. Добавил в автозагрузку 100 юзерям и у всех на разных окнах позависало просто, подскажите вариант более надежный
PHP код: Выделить весь код

Opt("RunErrorsFatal"0)

If 
FileExists("C:\Program Files\1Cv77\BIN\1CV7s.exe"Then Exit

BlockInput(1)

Run("\\192.168.11.198\Distrib\1s_install\B770023\Disk1\setup.exe")
If @
error Then Quit()

WinWait("Добро пожаловать""Добро пожаловать в программу установки"20)
ControlClick("Добро пожаловать""Добро пожаловать в программу установки""Button1")

WinWait("Выбор варианта установки""Выберите вариант установки программы"20)
ControlClick("Выбор варианта установки""Выберите вариант установки программы""Button6")

WinWait("Информация о пользователе""Введите Ваше имя и название"20)
ControlClick("Информация о пользователе""Введите Ваше имя и название""Button2")

WinWait("Информация о пользователе""Вы сообщили следующую информацию"20)
ControlClick("Информация о пользователе""Вы сообщили следующую информацию""Button1")

WinWait("Выбор каталога для установки""Программа установки поместит 1С"20)
ControlClick("Выбор каталога для установки""Программа установки поместит 1С""Button1")

WinWait("Создание нового каталога"""20)
ControlClick("Создание нового каталога""""Button1")

WinWait("Выбор программной группы""Выберите из существующих или"20)
ControlClick("Выбор программной группы""""Button2")

WinWait("Установка 1С:Предприятия""Программа установки скопировала файлы"20)
ControlClick("Установка 1С:Предприятия""Программа установки скопировала файлы""Button2")

WinWait("Установка 1С:Предприятия""Установка программы 1С"20)
ControlClick("Установка 1С:Предприятия""Установка программы 1С""Button1")

Run("\\192.168.11.198\Distrib\1s_install\B770025\Disk1\setup.exe")
If @
error Then Quit()

WinWait("Добро пожаловать""Добро пожаловать в программу установки"20)
ControlClick("Добро пожаловать""Добро пожаловать в программу установки""Button1")

WinWait("Список установленных программ""Из списка найденных на данном компьютере"20)
ControlClick("Список установленных программ""Из списка найденных на данном компьютере""Button4")

WinWait("Обновление 1С:Предприятия""При работе с сетевыми версиями"20)
ControlClick("Обновление 1С:Предприятия""При работе с сетевыми версиями""Button2")

WinWait("Обновление 1С:Предприятия""Обновление программы 1С"20)
ControlClick("Обновление 1С:Предприятия""Обновление программы 1С""Button1")
 
BlockInput(0)

Run("\\192.168.11.198\Distrib\1s_install\B770025\1C_patch_7725\1Cv77SQL_025_Patch.exe")
WinWaitActive("Патч 1С:Предприятие 7.7.025""Вы запустили программу"25)
ControlClick ("Патч 1С:Предприятие 7.7.025""Вы запустили программу""Button1")

WinWait("PatchWise Updater""ОК"20)
ControlClick("PatchWise Updater""ОК""Button1")

WinWait("Патч 1С:Предприятие 7.7.025""&Обновить"20)
ControlClick("Патч 1С:Предприятие 7.7.025""&Обновить""Button2")
Run("\\192.168.11.198\distrib\1s_install\link.cmd")

Quit()

Func Quit()   
    Exit
EndFunc 


Отправлено: 12:07, 14-08-2007 | #302


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


SvetlanaK
Цитата:
и сохранить его в нужное место с нужным именем и закрыть- задача номер один
Не проблема, привожу решение данной задачи без лишних мышкодвижений:
Код: Выделить весь код
$dFilePath = "D:\MyDoc\Результирующий_файл.xls" ; путь целевого файла

;константы, определяющие формат сохраняемого файла
const $xlCSV = 6 ; формат файла - coma separated values
const $xlTextMSDOS = 21 ; формат файла - текст MSDOS
const $xlWorkbookNormal = -4143 ; формат файла - xls

$oExcel = ObjGet("", "Excel.Application") ; "схватить" существующий объект Excel
If @error Then Exit ; выйти в случае неудачи

$oExcel.DisplayAlerts = 0 ; отключить предупреждения
$oExcel.ActiveWorkbook.SaveAs($dFilePath, $xlWorkbookNormal) ; сохранить файл как (здесь даже можно его сразу конвертировать во что-нибудь другое - некоторые константы описаны выше)
$oExcel.Quit ; выйти
Цитата:
непонятно , а каком месте оно применимо( ведь команда Save не предполагает опций - куда и с каким именем...
Туда же и с тем же именем, т.е. в самого себя Так как условия задачи были сформулированы расплывчато, то я подумал, что ее суть в выполнении определенных действий над существующим файлом с последующим сохранением оного.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Последний раз редактировалось Sanja Alone, 14-08-2007 в 18:38.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:26, 14-08-2007 | #303


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Sanja Alone, что-то не получилось...но вообще пример ваш интересен, пригодится в написании логов...
откуда только Вы это берете - не знаю, я весь хэлп перерыла, ничего подобного не нашла...видимо вы гений, или автор автоита
нашла я очень простое решение, публикую его. может кому-то пригодится.
Send("{Alt}{Ф}")
Send("{с}")
сочетание букв с альтом почему-то работает в отличие от контрола...
альт - ф активизация меню файл, а потом нажатие клавиши с и открывается окно сохранения.
а почему с контролом ни одна буква не работает - для меня большая загадка....
В общем - большое Вам спасибо за тепрение и внимание к моей проблеме.

Отправлено: 15:58, 15-08-2007 | #304


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


SvetlanaK
Цитата:
что-то не получилось...
Должно было получиться. Правда, может в момент запуска скрипта в Excel-е открыто больше одного файла, а тогда могло и не получиться... А еще могла отстутствовать на диске директория, куда нужно поместить результирующий файл. В данной ситуации лучше дописать в скрипт (до вызова метода SaveAs) такой фрагмент:
Код: Выделить весь код
If Not FileExists(StringLeft($dFilePath, StringInStr($dFilePath, '\', 0, -1))) Then DirCreate(StringLeft($dFilePath, StringInStr($dFilePath, '\', 0, -1)))
Цитата:
откуда только Вы это берете
Гуглю

Цитата:
сочетание букв с альтом почему-то работает в отличие от контрола...
Так и должно быть - так работают все контролы (элементы управления), для которых определены хоткеи.
Узнать хоткей для любого контрола легко - это будет Alt+буква с подчеркиванием в тексте. Если "посмотреть" на этот контрол с пом. AutoIt Window Info, то перед этой буквой будет амперсанд:
Код: Выделить весь код
;фрагмент информационного окна AutoIt Window Info:
Control ID: 1
ClassNameNN: Button2
Text: &Next >
Цитата:
альт - ф активизация меню файл, а потом нажатие клавиши с и открывается окно сохранения.
Применительно к менюшкам так и есть - сначала Alt+хоткей менюшки, а затем просто хоткей пункта в этой менюшке.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:32, 15-08-2007 | #305


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

HotKeySet("{LWIN}""MyFunc")

HotKeySet("{Esc}""Quit")

While 
1
    Sleep
(1000)
WEnd

Func MyFunc
()
    
MsgBox(0"""You pressed Windows Key")
EndFunc

Func Quit
()
    Exit
EndFunc 

Почему не работает, кто-нить может обьяснить?

Отправлено: 19:37, 15-08-2007 | #306


Аватара для Sanja Alone

Ищу Человека…


Сообщения: 420
Благодарности: 67

Профиль | Сайт | Отправить PM | Цитировать


Maza Faka
Цитата:
Почему не работает
Ну, допустим {ESC} то работает. А {LWIN} попадает в список исключений (я выделил красным). Цитирую AutoIt.chm:
Код: Выделить весь код
The following hotkeys cannot be set:

Ctrl+Alt+Delete - It is reserved by Windows 
F12 - It is also reserved by Windows, according to its API. 
NumPad's Enter Key - Instead, use {Enter} which captures both Enter keys on the keyboard. 
Win+B,D,E,F,L,M,R,U; and Win+Shift+M - These are built-in Windows shortcuts. Note: Win+B and Win+L might only be reserved on Windows XP and above. 
Alt, Ctrl, Shift, Win - These are the modifier keys themselves! 
Other - Any global hotkeys a user has defined using third-party software, 
any combos of two or more "base keys" such as '{F1}{F2}', 
and any keys of the form '{LALT}' or '{ALTDOWN}'.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 21:11, 15-08-2007 | #307


Аватара для Angelus

Пользователь


Сообщения: 52
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я извеняюсь........может этот подымался.......просто интересно.......при установке винды устанавливается руская раскладка клавиатуры по умолчанию(есть люди которые так ставят).....в автоскрипт вписана смена раскладки на ангиский, работает........но вместо ввода с клавиатуры допустим...C:\Alcohol Soft......вводится......\A Ї.....че за бред может быть??.....англиский язык тоже установлен....но не основным!......когда чтоит Англиский по умолчанию...то все отлично....

Последний раз редактировалось Angelus, 16-08-2007 в 12:28.


Отправлено: 11:22, 16-08-2007 | #308


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Накарябал скрипт для поиска и удаления строк дубликатов, в принципе работает, но только если заменять строку дубликат любым символом, а вот просто удалить строку не заменяя её каким либо символом никак не получается, посоветуйте, как исправить?

PHP код: Выделить весь код

#include <File.au3>

#include <Array.au3>
Dim $strArray$file "c:\test.txt"
_FileReadToArray($file ,$strArray)

For 
$i 1 To $strArray[0]
    
$search _ArraySearch($strArray$strArray[$i])
    If 
$search <> $i Then _FileWriteToLine($file$i" "1)
    
Next 

Если заменять строку-дубликат вот так:
PHP код: Выделить весь код

_FileWriteToLine($file$i""1

то, после удаления первого дубликата, строки смещаются на одну строку вверх и соответственно удаляются строки не являющиеся дубликатами.

Отправлено: 18:42, 16-08-2007 | #309


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Всё, разобрался.
Код: Выделить весь код
#include <File.au3>
#include <Array.au3>
Dim $strArray, $file = "c:\test.txt"

Write($strArray)

Func Write($strArray)
_FileReadToArray($file ,$strArray)
For $i = 1 To $strArray[0]
    $search = _ArraySearch($strArray, $strArray[$i])
    If $search <> $i Then
        _FileWriteToLine($file, $i, "", 1)
        $strArray = 0
        Write($strArray)
    EndIf
Next
EndFunc
А, что скажут знатоки? Можно ли так обрабатывать текст?

Последний раз редактировалось Maza Faka, 16-08-2007 в 19:38.


Отправлено: 19:13, 16-08-2007 | #310



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход