Добрый день! Есть следующая ситуация :
Есть пример шаблона который заполняется данными с Еxel таблицы.
Проблема заключается в том что шаблон состоит из двух одинаковых кусков в которых определённые ячейки должны заполница с 1 и 2 строки Еxel и потом уже сохранить это и брать соответствено 3 и 4 строку и так далие пока d таблице с данными не появится пустая строка. Как это организовать? Помогите пожалуйста, вот мой код:
Есть пример шаблона который заполняется данными с Еxel таблицы.
Проблема заключается в том что шаблон состоит из двух одинаковых кусков в которых определённые ячейки должны заполница с 1 и 2 строки Еxel и потом уже сохранить это и брать соответствено 3 и 4 строку и так далие пока d таблице с данными не появится пустая строка. Как это организовать? Помогите пожалуйста, вот мой код:
Код:
; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ;
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#include <GuiTab.au3>
#include <ProgressConstants.au3>
#include <Array.au3>
#include <Excel.au3>
#include <File.au3>
#include <AutoItConstants.au3>
#include <GUIStatusBar.au3>
$ini = @ScriptDir & "\119.ini"
$sDPI=IniRead($ini,'Settings','DPI','')
$sindex_DPI=IniRead($ini,'Settings','index_DPI','')
$sobl_DPI=IniRead($ini,'Settings','obl_DPI','')
$sray_DPI=IniRead($ini,'Settings','ray_DPI','')
$snas_p_DPI=IniRead($ini,'Settings','nas_p_DPI','')
$svul_DPI=IniRead($ini,'Settings','vul_DPI','')
$sbud_DPI=IniRead($ini,'Settings','bud_DPI','')
$POHTA = GUICreate("ПОЧТА@2112",344,255,-1,-1,-1,-1)
$tab = GUICtrlCreatetab(0,0,353,354,-1,-1)
GuiCtrlSetState(-1,2048)
GUICtrlCreateTabItem("Заповнення повідомлень")
GUICtrlCreateTabItem("Формування реєстру")
GUICtrlCreateTabItem("Данні автора")
GUICtrlCreateTabItem("")
_GUICtrlTab_SetCurFocus($tab,-1)
GUISwitch($POHTA,_GUICtrlTab_SetCurFocus($tab,0)&GUICtrlRead ($tab, 1))
GUICtrlCreateLabel("Формування повідомлень Ф.119",39.5,36,265,22,-1,-1)
GUICtrlSetFont(-1,14,700,0,"Times New Roman")
GUICtrlSetBkColor(-1,"-2")
$Button_1 = GUICtrlCreateButton("СФОРМУВАТИ Ф.119",101,80,142,33,-1,-1)
GUICtrlSetFont(-1,10,700,0,"Times New Roman")
GUICtrlSetColor(-1,"0xFF0000")
GUICtrlSetBkColor(-1,"0x80FF80")
;GUICtrlCreateProgress(21,212,291,20,-1,-1)
GUICtrlCreateButton("Сформувати 'Адресата'",101,122,142,30,-1,-1)
GUICtrlSetFont(-1,10,700,0,"Times New Roman")
GUICtrlCreateButton("ДРУК",101,162,142,30,-1,-1)
GUICtrlSetFont(-1,10,700,0,"Times New Roman")
_GUICtrlTab_SetCurFocus($tab,0)
$status = _GUICtrlStatusBar_Create($POHTA)
_GUICtrlStatusBar_SetText($status, 'Сформовано :')
GUISetState(@SW_SHOW,$POHTA)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button_1
;Example()
Local $oExcel = _Excel_Open(False);откриваем Excel
Local $sWorkbook = @ScriptDir & "\Adresa.xls";путь к книге Excel
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook);откриваем книгу Excel
Local $Result = _Excel_RangeRead($oWorkbook);помещае содержимое в масив
;_ArrayDisplay($Result);выводим масив на екран
Global $name[UBound($Result)];обявляем переменную ПИБ
Global $m_p[UBound($Result)];обявляем переменную "Место нахождение"
Global $index[UBound($Result)]
Global $obl[UBound($Result)]
Global $ray[UBound($Result)]
Global $nas_p[UBound($Result)]
Global $vul[UBound($Result)]
Global $bud[UBound($Result)]
Global $kv[UBound($Result)]
For $i =1 To UBound($Result)-1; начало цыкла
_GUICtrlStatusBar_SetText($status, 'Сформовано :'& $i)
$name[$i] = $Result[$i][2]; вытаскиваем значение с колонки 3
$m_p[$i] = $Result[$i][0];вытаскиваем значение с колонки 1
$index[$i] = $Result[$i][3]
$obl[$i] = $Result[$i][4]
$ray[$i] = $Result[$i][5]
$nas_p[$i] = $Result[$i][6]
$vul[$i] = $Result[$i][7]
$bud[$i] = $Result[$i][8]
$kv[$i] = $Result[$i][9]
;$name1[$i] = $Result[$i][2];
;_ArrayDisplay($name)
$save = @ScriptDir&"\send\"&$name[$i]&".xls"; определяем место сохранения готовых файлов и его имя
Local $sWorkbook1 = @ScriptDir & "\sablon\uved.xls";место нахожденя шаблона
Local $oWork = _Excel_BookOpen($oExcel, $sWorkbook1)
_Excel_RangeWrite($oWork, Default,$name[$i],'L7');Заполняем колонку ПИБ
;_Excel_RangeWrite($oWork, Default,$name1[$i],'L46');Заполняем колонку ПИБ
_Excel_RangeWrite($oWork, Default,$m_p[$i],'X5');Заполняем "Место нахождение"
_Excel_RangeWrite($oWork, Default,$index[$i] & ", УКРАЇНА, " & $obl[$i] & " ОБЛ., "& $ray[$i] & "," ,'I8')
_Excel_RangeWrite($oWork, Default,$nas_p[$i] & ", " & $vul[$i] & ", " & $bud[$i] & ", " & $kv[$i] ,'C10')
_Excel_RangeWrite($oWork, Default,$sDPI ,'AJ11')
_Excel_RangeWrite($oWork, Default,$sindex_DPI & ', '& $sobl_DPI & ' ОБЛ., ' ,'AP16')
_Excel_RangeWrite($oWork, Default,$sray_DPI & ' '& $snas_p_DPI & ' ' ,'AJ19')
_Excel_RangeWrite($oWork, Default,$svul_DPI & ' ' & $sbud_DPI,'AJ22')
_Excel_BookSaveAs($oWork, $save)
Next
_Excel_BookClose($oWork)
_Excel_BookClose($oWorkbook)
_Excel_Close($oExcel)
MsgBox(0, "", "Виконано" )
SplashOff()
EndSwitch
WEnd
Func U2A($sVal)
Return BinaryToString(StringToBinary($sVal, 1), 4)
EndFunc ;==>U2A