Владислав Орлов пишет:
Правильнее всего, конечно, затолкать данные кадровиков в реальную базу с
приемлемым пользовательским интерфейсом, НО...
Раз уж этот вариант не подходит (в данное время), то оставляем все как есть и
решаем задачу средствами самого ООо.
Cамое простое и надежное - столбец vlookup'ов на внешние данные
Объясню, почему необходим механизм именно в ООо.
Я видел как небольшие предприятия (винда, офис, интернет, почта), где
нет вообще программистов как класс и видел, что даже на больших предприятиях
со штатом программистов подобные задачи возникают у простых пользователей.
Есть прослойка людей, которые знают (выучат) языки макросов и будут
довольно успешно пользоваться этим.
Я сам периодически сталкиваюсь с необходимостью собрать данные в кучу -
найти дубликаты в листах, или наоборот добавить данные из соседнего листа...
В MSO я периодически правлю один тупой (лень оптимизировать даже) макрос
вида:
Sub MakeReport()
'
i = 5 ' с какой строки начинать в листе-источнике (пропускаем шапку)
Do While Worksheets("Comps").Cells(i, 4).Value <> ""
Worksheets("ReportList").Cells(i, 1).Value = Worksheets("Comps").Cells(i, 1)
Worksheets("ReportList").Cells(i, 2).Value = Worksheets("Comps").Cells(i, 3)
jj = 2 ' с какой строки начинать в листе-назначения (пропускаем шапку)
Do While Worksheets("Users").Cells(jj, 1).Value <> ""
If Worksheets("Users").Cells(jj, 2).Value = Worksheets("Comps").Cells(i,
7).Value Then
Worksheets("ReportList").Cells(i, 2).Value =
Worksheets("Users").Cells(jj, 2)
Worksheets("ReportList").Cells(i, 3).Value =
Worksheets("Users").Cells(jj, 6)
Worksheets("ReportList").Cells(i, 5).Value =
Worksheets("Users").Cells(jj, 1)
jj = 9000
End If
jj = jj + 1
Loop
i = i + 1
Loop
Columns("A:A").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
MsgBox "Done!"
End Sub
Причем руки не дойдут до того, чтобы толково написать одну обобщенную
процедуру (входные переменные - SheetDestination, SheetSource,
CompareMethod...)
Вот и думаю - может быть есть смысл такую операцию обобщить и добавить
(отдельным UNO-пакетом, не в сам дистрибутив) для тех, кому такая
операция нужна?
Щелкаешь например, Сервис - Мастер дубликатов, появляется диалоговое
окно: "выберите область-источник", "выберите область назначение" и т.п.
С уважением, Андрей.
_____________________________________________________
Oo-discuss mailing list
Oo-discuss at openoffice.ru
https://lists.openoffice.ru/mailman/listinfo/oo-discuss