Автор Тема: Чтение из .INI и повторение действия столько раз, сколько прописано в .INI  (Прочитано 345 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн scanfail [?]

  • Новичок
  • *
  • Сообщений: 244
  • Репутация: 17
    • Награды
Здравствуйте.

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

Есть сайт, откуда нужно качать отчеты раз в месяц. У каждого отчета есть айди.

Написал такой скрипт под 1 айди:
Код: AutoIt [Выделить]
Global $Path_Ini = @ScriptDir & "\ID.txt"     ;Текстовой файл с айди отчета
Global $URL = "http://1.1.1.1/c=salerepfp&srep_id="     ;Ссылка на отчеты

#Region ~~~Otchet~~~
$GetID_1 = IniRead($Path_Ini, "ID", "1", "ERROR")     ;Читаем данные первого айди
$Otchet_1 = $URL & $GetID_1     ;Соединяем ссылку с айди и получаем ссылку на конкретный отчет

Sleep(1000)
MouseClick("left", "600", "40", 3)    ;Клик на раздел ввода ссылки в браузере
Sleep(200)
Send($Otchet_1)     ;Вставляем ссылку на отчет
Sleep(200)
Send("{ENTER}")     ;Переходим по ссылке
Sleep(200)
MouseClick("left", "1145", "715", 1)     ;Скачиваем отчет
Sleep(2000)
MouseClick("left", "1340", "700", 1)     ;Закрываем вкладку скачивания
#EndRegion ~~~Otchet~~~
 


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

Прошу помочь опытных пользователей.

Русское сообщество AutoIt


Помечен как лучший ответ пользователем scanfail Отправлен Январь 11, 2017, 15:07:59

Оффлайн ra4o [?]

  • Продвинутый
  • ***
  • Сообщений: 482
  • Репутация: 71
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Не вникал в сами действия по получению отчётов. но если Вас тот код, что выше устраивает, тогда можно так :
(нажмите для показа/скрытия)

Оффлайн scanfail [?]

  • Новичок
  • *
  • Сообщений: 244

  • Автор темы
  • Репутация: 17
    • Награды
Не вникал в сами действия по получению отчётов. но если Вас тот код, что выше устраивает, тогда можно так :
(нажмите для показа/скрытия)

Спасибо большое! Работает как часы!
На основание вашего скрипта, попытался сделать еще один, схожий, но уж по печати скачанных ранее файлов.

Код: AutoIt [Выделить]
#include <Excel.au3>

Global $Path_Ini = @ScriptDir & "\ID_File.txt"
Global $Folder = "C:\Users\Downloads\"
Global $prnt = "Canon LBP2900"

HotKeySet("{ESC}", "_Terminate")

$File = IniReadSection($Path_Ini, 'File')
If Not @error Then

    For $i = 1 To $File[0][0]

    $File = $Folder & $File[$i][1]

    Local $oExcel = _Excel_Open(False); Здесь указываете, что открывается документ в фоне
    Local $oWorkbook = _Excel_BookOpen($oExcel,$File)
    Sleep(2000)
    $oExcel.Columns('G').EntireColumn.AutoFit ;Авто изменение размера колонок
    $oExcel.Columns('K').EntireColumn.AutoFit
    $oExcel.Columns('L').EntireColumn.AutoFit
    $oExcel.Columns('R').EntireColumn.AutoFit
_Excel_Print($oExcel, $oExcel.ActiveSheet,Default,$prnt)
_Excel_Close($oExcel,False)
    Sleep(4000)
Next
EndIf

Func _Terminate()
    Exit 0
EndFunc
 


Но выдает ошибку в коде, а если быть точнее, то вот:
Код: AutoIt [Выделить]
$oExcel.Columns('G').EntireColumn.AutoFit
$oExcel^ ERROR
 


Не могли бы вы пожалуйста помочь?

Оффлайн ra4o [?]

  • Продвинутый
  • ***
  • Сообщений: 482
  • Репутация: 71
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Какая ошибка ? У меня работает так :
Код: AutoIt [Выделить]
$oExcel.Columns('A:E').EntireColumn.AutoFit
 

Хотя и в таком виде, как у Вас тоже отрабатывает без ошибки.
« Последнее редактирование: Январь 11, 2017, 16:14:24 от ra4o »

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
9 Ответов
4105 Просмотров
Последний ответ Август 06, 2010, 20:50:40
от CreatoR
13 Ответов
6912 Просмотров
Последний ответ Август 01, 2011, 12:28:45
от StarEdik
10 Ответов
3437 Просмотров
Последний ответ Декабрь 14, 2011, 14:39:45
от running-frag
3 Ответов
2236 Просмотров
Последний ответ Ноябрь 29, 2012, 10:44:31
от acdsee
0 Ответов
754 Просмотров
Последний ответ Февраль 23, 2015, 20:50:22
от Teacher
2 Ответов
934 Просмотров
Последний ответ Июнь 22, 2015, 05:09:26
от Zalman1980
7 Ответов
1114 Просмотров
Последний ответ Август 01, 2015, 18:00:28
от madmasles
0 Ответов
453 Просмотров
Последний ответ Ноябрь 20, 2015, 17:01:10
от Makrut
2 Ответов
1085 Просмотров
Последний ответ Май 16, 2016, 21:42:51
от McNamara
1 Ответов
1181 Просмотров
Последний ответ Август 10, 2016, 16:08:18
от InnI