В Listbox из Excel

bobo

Well-known member
11.12.2008
86
0
#1
нужна помощь в VS 2008
необходимо скопировать несколько ячеек в excel и вставить в listbox, при этом каждая ячейка должна соответствовать новому элементу listbox.
пробывал так:
копировал ячейки в excel и с помощью button вставлял в listbox

me.listbox.items.add(clipboard.getText)

но значения вставляются в одну строку (т.е. образуется только один элемент).

подскажите может как то можно вбить ячейки в массив и заполнить listbox с помощью цикла, или есть другие решения!!!
 

hosm

* so what *
18.05.2009
2 442
6
#2
если хотите именно через буфер, попробуйте проверить текст в буфере на символ табуляции (код 9 - так обычно ячейки в строке отделяются) и абзаца (10 или 13, не помню точно).
 

bobo

Well-known member
11.12.2008
86
0
#3
если хотите именно через буфер, попробуйте проверить текст в буфере на символ табуляции (код 9 - так обычно ячейки в строке отделяются) и абзаца (10 или 13, не помню точно).

ну кроме буфера я других решений не вижу...а можно подробней про проверку текста?
 

hosm

* so what *
18.05.2009
2 442
6
#4
Про проверку текста:
Посмотрите, мб, есть что-то подобное Split - разбиение строки на массив (Variant) по разделителям
Можно использовать также Mid Left Right + Instr (проверка наличия подстроки)
 
V

VBAaddict

#5
При копировании из экселя ячеек в буфер значения разделены
vbCrLf, что соответствует Chr(13) + Chr(10) Carriage return–linefeed combination
т.о. даже если разбить чем либо значения - не очень понятно, как без цикла их загнать в Listbox

Для объекта Selection

Код:
NumOfCells =Selection.Cells.Count

For i = 1 to NumOfCells
me.listbox.items.add(Selection.Cells(i).Value)
Next
 
V

VBAaddict

#7
а как объявить NumOfCells и Selection?
Мой кусок, как этот работае в Excel

NumOfCells as Integer 'это я его так ввел, от нечего делать :rolleyes:
Selection - это встроенный ?объект Excel'ля

А дальше.. думайте
я же понятия не имею - обращаетесь ли вы к конкретному файлу или же хотите 1000 разных файлов открыть...
если к конкретному, тогда нужно создать объект Excel, запустить, открыть в нем файл и т.д. и т.п.
Application...
или Excel.Application
в общем Yandex+Google спасут мир
 

bobo

Well-known member
11.12.2008
86
0
#8
а,понятно...
дело в том, что ячейки могут копироваться из любого случайного файла эксель...
а поисковики пока ничем не радуют ))
 

hosm

* so what *
18.05.2009
2 442
6
#9
человек ведь хотел через буфер, а не через объекты экселя.
а что, так не работает?
Код:
Dim vals as variant
vals = Split(clipboard.getText, Chr(13) & Chr(10))
For each oneval in vals 
me.listbox.items.add(oneval)
next