Владислав Орлов пишет:

Правильнее всего, конечно, затолкать данные кадровиков в реальную базу с 
приемлемым пользовательским интерфейсом, НО...
Раз уж этот вариант не подходит (в данное время), то оставляем все как есть и 
решаем задачу средствами самого ООо.
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
  • Re: [oodisc] зада... Круглов Андрей Константинович
    • Re: [oodisc]... Сергей Александрович Лядов
      • Re: [ood... Круглов Андрей Константинович
        • Re[2... Николай Кузнецов
          • ... Орлов Владислав Джонович
            • ... Николай Кузнецов
              • ... Anton
                • ... Николай Кузнецов
            • ... Круглов Андрей Константинович
              • ... Орлов Владислав Джонович
                • ... Владислав Орлов

Ответить