Здравствуйте!
Есть такая задачка, нужно сводить определенную инфу из нескольких документов Excel в один.
Набросал такое полуавтоматическое решение:
Никак не могу сообразить, как сделать так, что бы каждый раз по нажатию кнопки, данные писались в новую строчку? Задал в качестве номера сточки переменную. Если плюсовать единицу в конце - то на момент записи данных, переменная все ещё прежняя. Как плюсовать по-другому - не соображу...
Есть такая задачка, нужно сводить определенную инфу из нескольких документов Excel в один.
Набросал такое полуавтоматическое решение:
Код:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$oper = GUICtrlRead ($Combo1) ;читаем значение условия
$branch = GUICtrlRead ($Input1) ;читаем значение бранча
$oExcel = _Excel_Open()
$base = @ScriptDir & "\Файл со счетами.xlsx"
$sample = @ScriptDir & "\шаблон.xlsx"
$num = 2
Switch ($oper)
Case "Условие 1"
$oWorkbook = _Excel_BookOpen($oExcel, $base)
$aResult = _Excel_RangeFind ($oWorkbook, $branch, "C1:C999") ;ищем в базе значение бранча в заданном столбце
$aline = $aResult[0][2] ;пишем найденное значение из массива в переменную
$bline = StringSplit ($aline, "$") ;делим значение по разделителю
$cline = $bline[3] ;берем номер строки, где нашли значение
$acc = _Excel_RangeRead ($oWorkbook, "Требование", "G"&$cline) ;читаем нужное значение в найденной строке
$bal = _Excel_RangeRead ($oWorkbook, "Требование", "E"&$cline)
$oWorkbook2 = _Excel_BookOpen($oExcel, $sample)
_Excel_RangeWrite($oWorkbook2, $oWorkbook2.Activesheet, $acc, "D"&$num) ;пишем значения в сводный файл
_Excel_RangeWrite($oWorkbook2, $oWorkbook2.Activesheet, $bal, "C"&$num)
; _Excel_Close($oExcel, True, True)
EndSwitch
EndSwitch
WEnd
Никак не могу сообразить, как сделать так, что бы каждый раз по нажатию кнопки, данные писались в новую строчку? Задал в качестве номера сточки переменную. Если плюсовать единицу в конце - то на момент записи данных, переменная все ещё прежняя. Как плюсовать по-другому - не соображу...