Размеры дропдауна в ComboBox

Программирование на Visual Basic for Applications
grigrim
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 21.09.2007 (Пт) 19:16

Размеры дропдауна в ComboBox

Сообщение grigrim » 21.09.2007 (Пт) 19:37

У меня в ворде на странице есть КомбоБокс. В него записываются из файла данные, но каждая запись довольно длинная. Подскажите 2 вопроса: 1. Как получить в комбобокс данные из таблицы в экселе? (у меня получилось только из txt); 2. Как установить ширину и высоту дропдауна чтобы вошла вся запись целиком?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.09.2007 (Сб) 12:14

Покажи, как ты делаешь это с текстовым файлом.
Lasciate ogni speranza, voi ch'entrate.

grigrim
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 21.09.2007 (Пт) 19:16

Сообщение grigrim » 22.09.2007 (Сб) 15:39

Код: Выделить всё
Private Sub Document_Open()

Dim TextLine
Dim k As Byte ' Счетчик строк в текстовом файле
Dim l As Integer ' Счетчик максимальной длины записи в ComboBox
k = 1
l = 0
Open "text1.txt" For Input As #1    ' Open file.
Do While Not EOF(1)    ' Loop until end of file.
    Line Input #1, TextLine    ' Read line into variable.
    ComboBox1.AddItem TextLine, k - 1
    If Len(TextLine) > l Then l = Len(TextLine)
    k = k + 1
Loop
ComboBox1.ColumnWidths = l * 4.5
Close #1    ' Close file.

End Sub

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.09.2007 (Сб) 16:09

Код: Выделить всё
Dim R0 As Long
R0 = 1
Do Until IsEmpty(ActiveWorkbook.Sheets("Sheet1").Cells(R,1).Value
  Combo1.AddItem ActiveWorkbook.Sheets("Sheet1").Cells(R,1).Text
  R = R + 1
Loop
Lasciate ogni speranza, voi ch'entrate.

grigrim
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 21.09.2007 (Пт) 19:16

Сообщение grigrim » 22.09.2007 (Сб) 16:39

А при чем тут ActiveWorkbook, если я в ворде работаю, а из экселя долько данные беру и даже не открываю экселевский файл?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.09.2007 (Сб) 16:43

ActiveWorkbook - это открытая книга Excel, с которой тебе нужно брать данные. Можешь заменить на objWB, где objWB = objExcel.ActiveWorkbook, а objExcel=CreateObject("Excel.Application").
Lasciate ogni speranza, voi ch'entrate.

grigrim
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 21.09.2007 (Пт) 19:16

Сообщение grigrim » 23.09.2007 (Вс) 22:12

А что подскажете насчет размеров строк в дропдауне?
То есть мне, скажем, как сделать для каждой строки дропдауна мультилайн?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.09.2007 (Пн) 8:10

Никак. Используй User Control для этой цели.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 98

    TopList