Что нового

Копирование текста из IE в Excel и расфасовка по ячейкам

olbaid

Новичок
Сообщения
1
Репутация
0
Версия AutoIt: 3.3.6.1

Описание: Скрипт должен заходить на http://supernovabots.com/prices_0.txt брать цифровые значения начиная с 10й строки, игнорируя 4й столбик (*ComparePrices[1] pisiiki2[4] tina16[3]), далее запускать файл excel сравнивать на имена 1й столбик, сравнивать изменения значений 2го и 3го и выводить их в новые ячейки если таковые изменения произошли.
К примеру, 10я строчка Back from the Brink [ISD] 0.012 0.026 pisiiki2[1] MTEAMTester[2] :
1 скрипт должен найти ячейку с Back from the Brink [ISD] далее сравнить значения 0.012 со старыми которые записаны в эксель файле в той же строке только правее, если отличаются то вывести +- от полученого результата в туже строчку но в ячейку +3 в право, тоже самое со следующим значением 0.026 и проигнорировать 4й столбец pisiiki2[1] MTEAMTester[2]

Примечания: Не могу понять как AutoIt'у разбить строку на ячейки в буфере обмена. Буду признателен за любую помощь в создании скрипта.
 

---Zak---

Скриптер
Сообщения
443
Репутация
116
Осталось Excel подключить (найти, сравнить, заменить и т.п.)...
Код:
Local $hDownload = InetGet("http://supernovabots.com/prices_0.txt", @TempDir & "\prices_0.txt", 1, 1)
Do
    Sleep(250)
Until InetGetInfo($hDownload, 2)
InetClose($hDownload)

$file = FileOpen(@TempDir & "\prices_0.txt", 0)

If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf
	$FlagBegin = False
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
	If (StringLeft($line, 4) == "Name") Then
		$NametoBuy = StringInStr($line, "Buy")-1
		$NametoSell = StringInStr($line, "Sell")-1
		$NametoBot = StringInStr($line, "Bot")-1
		
		$BuytoSell = StringLen(StringMid($line, $NametoBuy, $NametoSell-$NametoBuy))
		$SelltoBot = StringLen(StringMid($line, $NametoSell, $NametoBot-$NametoSell))
		$FlagBegin = True
	EndIf
	If ($FlagBegin = True) Then
		If (StringLeft($line, 3) <> "") Then
			If (StringLeft($line, 3) <> "===") Then
 				$STR_NAME = StringRegExpReplace(StringLeft($line, $NametoBuy ), '\A[\s]*|[\s]*$', '')  ;~ 1 столбик
				$STR_BUY = StringRegExpReplace(StringMid($line, $NametoBuy, $BuytoSell ), '\A[\s]*|[\s]*$', '') ;~ 2 столбик
				$STR_SHELL = StringRegExpReplace(StringMid($line, $NametoSell, $SelltoBot ), '\A[\s]*|[\s]*$', '') ;~ 3 столбик
				$STR_BOT = StringRegExpReplace(StringMid($line, $NametoBot ), '\A[\s]*|[\s]*$', '') ;~ 4 столбик
					ConsoleWrite($STR_NAME&" | "&$STR_BUY&" | "&$STR_SHELL&" | "&$STR_BOT & @CRLF)
;~ 					MsgBox(0,"", $STR_NAME&" | "&$STR_BUY&" | "&$STR_SHELL&" | "&$STR_BOT)
;~ -------------------------------------------------------------------------------------------
;~ 							 Здесь уже работаем с Excel'ем
;~ 							Открываем - ищем - меняем и т.п.
;~ -------------------------------------------------------------------------------------------
			EndIf
		EndIf
	EndIf
	
Wend

FileClose($file)
 
Верх