Доброго времени суток! Подскажите пример

Автор ForumOOo (бот), 18 июня 2014, 22:07

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Calc
Версия продукта: 4.1.x
Сборка:
ОС:

Доброго времени суток!
Подскажите  пожалуйста пример диалогового окна с макросом для ввода данных в таблицу из listBox
Спасибо.

--
Подпись: K8611


K8611

Спасибо! Пример очень хороший, но проблема в том, что при выборе из listbox  несколько значений в ячейку переносится одно первое выбранное, по списку.
ThisComponent.Sheets(0).getCellRangeByName("A" & CStr(n)).String = Dialog1.GetControl("lstBox1").SelectedItem

JohnSUN

#3
А надо в одну ячейку затолкать всё выделенное? Тогда нужно обращаться не к свойству SelectedItem (одна строка), а к SelectedItems (массив строк). И преобразовывать его в одну строку чем-то вроде
ThisComponent.Sheets(0).getCellByPosition(0, (n-1)).setString(Join(Dialog1.GetControl("lstBox1").SelectedItems, ", "))
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

#4
JohnSUN, убери лишнюю скобку после n-1.
Я думаю, что он хочет вставить не в одну ячейку, а в одну колонку. Тогда нужно перебрать ячейки циклом.
Sub spisok  Dim sListBox(), i%
sListBox= Dialog1.getControl("lstBox1").getSelectedItems()
For i=0 To UBound(sListBox)
ThisComponent.getCurrentController.ActiveSheet.getCellByPosition(0,i+3).String=sListBox(i)
Next
End Sub

JohnSUN

Цитата: rami от 20 июня 2014, 11:51
JohnSUN, убери лишнюю скобку после n-1.
Да нет, я лучше ещё одну перед n поставлю. Для наглядности  ;D
Цитата: rami от 20 июня 2014, 11:51
Я думаю, что он хочет вставить не в одну ячейку, а в одну колонку.
Он уже в личку отписался (почему не в форум - не знаю) - именно то, что и задумывалось.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

K8611

Ещё раз спасибо! Мне диалог нужен для построчного ввода данных в таблицу.Всё что хотел - получилось