Консультация № 60232
26.10.2006, 14:14
0.00 руб.
0 6 5
Здравствуйте!
Я считываю из таблицы Excel занчения и записываю из в ListBox. Как сделать следующее: если значение пустое(т.е. в ячейке Excel нет значения), то не заносить это значение в ListBox.
Очень буду благодарна за подсказку..

Обсуждение

Неизвестный
26.10.2006, 14:30
общий
это ответ
Здравствуйте, Артемова Марина!

А в чем сложность то?
Допустим, к ячейке Excel Вы обращаетесь так: Excel.Cell.Value.

Тогда проверяете так: <b>if</b> Excel.Cell.Value<>‘‘ <b>then</b> {добавляем в листбокс}

Удачи!
Неизвестный
26.10.2006, 14:41
общий
это ответ
Здравствуйте, Артемова Марина!

if not VarIsEmpty(Excel.Sheet.Range[...].Value) then //добавляем

Например, VarIsEmpty(Range[‘A1‘]) - пусто ли в ячейке A1
Неизвестный
26.10.2006, 14:59
общий
это ответ
Здравствуйте, Артемова Марина!

вы можете проверить таким образом:

if TRIM(Строка полученная из ячейки Экселя)<>‘‘(Прим. Это не двойная кавычка, это два апострофа) then
listbox1.items.add(Строка полученная из ячейки Экселя);

и все.
Функция TRIM отбрасывает пробелы спереди и позади строки, а по тому если строка с одними пробелами или пустая, то условие не выполняется и значение в листбокс не заноситься.

с компонентами примерно так:

If TRIM (EXCELAPPLICATION1.Range[‘A1‘, emptyparam].Value)<>‘‘ then
ListBox1.Items.Append(EXCELAPPLICATION1.Range[‘A1‘, emptyparam].Value);

Эт должно работать !!!

УДАЧИ ВАМ МАРИНА !!!
Неизвестный
26.10.2006, 17:10
общий
Могу предложить альтернативный, но принципиально такой же вариант: Занести все, а потом удалить лишние строки. Что-то типа этого:i := ListBox1.Count;while (i > 0) do begin dec(i); if (ListBox1.Item[i] == ‘‘) then ListBox1.Items.Delete(i);end;
Неизвестный
26.10.2006, 20:20
общий
это ответ
Здравствуйте, Артемова Марина!
На скока я помню (щас не проверял), из ячейки читается строка. Значит, чтобы отслеживать пустые ячейки, надо отслеживать те, при считывании которых считалась строка <> (отличается) ‘‘". Это условие должно стоять передзанесением в ListBox. Т.е. если условие выполняется, то заносим.
Неизвестный
27.10.2006, 04:43
общий
это ответ
Здравствуйте, Артемова Марина!
var s: string
Добавлю что длинну строки можно проверить так if LenGth(s)<1 then // строка пустая
Форма ответа