Написал программу, которая выводит в консоль значения переменных.
Каким образом можно эти значения записать в двумерный массив?
Каким образом можно эти значения записать в двумерный массив?
Код:
#include <Array.au3>
#include <Excel.au3>
Local $oExcel = _Excel_Open()
$SorceFile = "\Исходные данные.xlsx" ;Путь к файлу с исходными данными
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & $SorceFile) ;Открываем файл с исходными данными
Local $oSheet = _Excel_SheetAdd($oWorkbook, 1, False, 1, "Лист2")
Local $aSB = ["Основание", "Каркас основания", "Ферма основания", "Планка крепежная площадки", "Колодец кабельных вводов"]
Local $LastRow = $oWorkbook.Sheets("Лист1").Range("A1").SpecialCells($xlCellTypeLastCell).Row ;Определяем последнюю строку
;ConsoleWrite ($LastRow & @CRLF)
Local $aArray = _Excel_RangeRead($oWorkbook, Default, $oWorkbook.Sheets("Лист1").Usedrange.Columns("A:F"), 1)
;_ArrayDisplay($aArray)
For $i = 0 To UBound($aSB) - 1
;ConsoleWrite ($aSB[$i]& @CRLF)
For $j = 0 To $LastRow - 1
$sRow = $j + 1
$sPos = $aArray[$j][0]
$sObozn = $aArray[$j][1]
$sName = $aArray[$j][2]
$sKol = $aArray[$j][3]
$sRazd = $aArray[$j][4]
If $sName = $aSB[$i] Then
ConsoleWrite ($sRow & @TAB & $sPos & @TAB & $sObozn & @TAB & $sName & @TAB & $sKol & @TAB & $sRazd & @CRLF)
For $n = 1 To 200
For $k = 1 To 200
$sRowK = $sRow + $k
$sPosK = $aArray[$sRowK][0]
$sPosN = $sPos & "." & $n
$sObozn = $aArray[$sRowK][1]
$sName = $aArray[$sRowK][2]
$sKol = $aArray[$sRowK][3]
$sRazd = $aArray[$sRowK][4]
If $sPosN = $sPosK And $sRazd <> "Сборочные единицы" Then
ConsoleWrite ($sRowK & @TAB & $sPosK & @TAB & $sObozn & @TAB & $sName & @TAB & $sKol & @TAB & $sRazd & @CRLF)
Else
EndIf
Next
Next
Else
EndIf
Next
;ConsoleWrite (@CRLF)
Next