функция для копирования комментариев openoffice в ячейку

Я пытаюсь импортировать данные электронной таблицы в CMS, но есть около 100 комментариев в различных ячейках электронной таблицы с более чем 4000 строками, которые мы также хотели бы импортировать. Есть ли функция или макрос, который скопирует содержимое комментария в ячейку? (не как комментарий, а как обычный текст)


person Eric Wenger    schedule 25.02.2017    source источник
comment
Пожалуйста, будьте более конкретными. ... скопировать содержимое комментария в ячейку? В какую ячейку? Та же ячейка, которая закомментирована? А что тогда с содержимым ячейки? Должен ли комментарий просто добавляться к содержимому? Как насчет числового содержимого ячейки? Это содержимое не будет числовым после этого действия.   -  person Axel Richter    schedule 25.02.2017


Ответы (1)


В API Openoffice интерфейс XSheetAnnotationsSupplier предоставляет метод getAnnotations. Используя это, можно получить все аннотации листа вместе с их позициями. Позиция — это адрес ячейки, в которой размещена аннотация:

sub getAnnotations()

 oThisWorkbook = ThisComponent
 oActiveSheet = oThisWorkbook.CurrentController.ActiveSheet

 oAnnotations = oActiveSheet.Annotations

 for each oAnnotation in oAnnotations
  lColumn = oAnnotation.Position.Column
  lRow = oAnnotation.Position.Row
  sText = oAnnotation.String

  oCell = oActiveSheet.getCellByPosition(lColumn, lRow)

  msgbox oCell.AbsoluteName & " has annotation: " & sText
 next

end sub

Итак, у вас есть аннотации (комментарии) и их ячейки.

Теперь вам нужно решить, что вы хотите с этим делать. Как уже говорилось в моем комментарии, простое добавление аннотаций к содержимому ячейки, на мой взгляд, не очень хорошая идея. Это, возможно, сделает содержимое ячейки нечитаемым для дальнейшей обработки.

person Axel Richter    schedule 25.02.2017