Версия AutoIt: 3.5.4
Описание :Здравствуйте уважаемые форумчане, помогите решить проблему, есть файл ексель где есть куча столбиков его нужно перебрать по типу если есть строки с таким же значением в одной из ячеек, как и проверяемая строка, то мы эти строки оставляем и группируем, а если у проверяемой строки не нашлось таких совпадений то удаляем всю эту строку. Форумчане подсказали как сделать, но возникла проблема при выгрузке в файл эксель итоговых значений "съезжают" значения дат в ячейках и значение полиса(дата - 19930613000000, полис - 6,4536E+15). Вот попробовал что придумать, но как-то оно не делает то что нужно.
Примечания :
Помогите пожалуйста.
Описание :Здравствуйте уважаемые форумчане, помогите решить проблему, есть файл ексель где есть куча столбиков его нужно перебрать по типу если есть строки с таким же значением в одной из ячеек, как и проверяемая строка, то мы эти строки оставляем и группируем, а если у проверяемой строки не нашлось таких совпадений то удаляем всю эту строку. Форумчане подсказали как сделать, но возникла проблема при выгрузке в файл эксель итоговых значений "съезжают" значения дат в ячейках и значение полиса(дата - 19930613000000, полис - 6,4536E+15). Вот попробовал что придумать, но как-то оно не делает то что нужно.
Примечания :
Код:
#include <Excel.au3>
$File = FileOpenDialog('Выбрать файл для сортировки', @ScriptDir, "Файлы EXCEL (*.xls;*.xlsx)", 2 + 1)
If Not @error Then
Local $oExcel = _Excel_Open(False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Ошибка !", "Ошибка создания объекта Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, $File)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Ошибка !", "Ошибка открытия файла Excel " & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
$Array=_Excel_RangeRead($oWorkbook)
_Excel_BookClose($oWorkbook)
;Сортировка массива по графе "ФИО"
_ArraySort($Array, 0, 1, 0, 1)
;~ _ArrayDisplay($Array)
;Удаление "одиночных" записей
For $i=UBound($Array)-1 to 1 step -1
$fio=$Array[$i][1]
$Found=_ArrayFindAll($Array,$fio,1,Ubound($Array)-1,0,0,1)
If Ubound($Found)=1 Then _ArrayDelete($Array,$i)
Next
Local $oWorkbook = _Excel_BookNew($oExcel,1)
_Excel_RangeWrite($oWorkbook,Default,$Array)
_Excel_BookSaveAs($oWorkbook, @ScriptDir & "\АналитикаИтог.xlsx")
_Excel_BookClose($oWorkbook)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\АналитикаИтог.xlsx")
For $i = $oWorkbook.ActiveSheet.UsedRange.Rows.Count to 2 Step -1
$dr = StringMid(_Excel_RangeRead($oWorkbook, Default, 'C' & $i),7,2) & "." & StringMid(_Excel_RangeRead($oWorkbook, Default, 'C' & $i),5,2) & "." & StringMid(_Excel_RangeRead($oWorkbook, Default, 'C' & $i),1,4)
$dp = StringMid(_Excel_RangeRead($oWorkbook, Default, 'G' & $i),7,2) & "." & StringMid(_Excel_RangeRead($oWorkbook, Default, 'G' & $i),5,2) & "." & StringMid(_Excel_RangeRead($oWorkbook, Default, 'G' & $i),1,4)
_Excel_RangeWrite($oWorkbook,Default,$dr,'C' & $i)
_Excel_RangeWrite($oWorkbook,Default,$dp,'G' & $i)
Next
_Excel_BookClose($oWorkbook)
_Excel_Close($oExcel)
MsgBox(48,'Внимание !','Работа с документом завершена !')
EndIf
Помогите пожалуйста.