Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2010, 14:39   #1
NicBor
Новичок
Джуниор
 
Регистрация: 20.09.2010
Сообщений: 2
По умолчанию Заполнение combobox.

Для заполнения вордовского документа создана форма, на ней есть combobox. Вопрос - как заполнить combobox на вордовской форме данными из экселевской таблицы "Справочник". Данные расположены в диапозоне А1:А50.
NicBor вне форума Ответить с цитированием
Старый 28.10.2010, 10:08   #2
faiza
 
Регистрация: 02.10.2009
Сообщений: 8
По умолчанию

Попробуй так:
Application.Activate
ThisDocument.Activate
iMassiv = Ex.Sheets("Лист1").Range("A1:A50"). Value
ComboBox1.List = iMassiv
faiza вне форума Ответить с цитированием
Старый 28.10.2010, 10:16   #3
faiza
 
Регистрация: 02.10.2009
Сообщений: 8
По умолчанию

Перед этим нужно объявить excel как объектную переменную, чтобы с ней работать.Можно так:

Private Sub UserForm_Initialize()
Dim Ex As Excel.Application 'Описываем переменную как объект
Set Ex = CreateObject("excel.application")
Ex.Workbooks.Open FileName:=ThisDocument.Path & "\Справочник.xlsx" ' Прописываю путь относительно моего документа Word, может и конкретно указать
Ex.Application.Visible = True 'Делаем его видимым

Application.Activate
ThisDocument.Activate
iMassiv = Ex.Sheets("Пуск").Range("A1:A50").V alue
ComboBox1.List = iMassiv

И не забуть подключить библиотеки объектов программы Excel: Tools - References... - Microsoft Excel 14.0 Object Library - OK.

Последний раз редактировалось faiza; 28.10.2010 в 10:17. Причина: ошибка
faiza вне форума Ответить с цитированием
Старый 12.11.2010, 13:42   #4
NicBor
Новичок
Джуниор
 
Регистрация: 20.09.2010
Сообщений: 2
По умолчанию

Спасибо большое за ответ. Все работает, внес небольшое изменение
Application.Activate
ThisDocument.Activate
Dim iMassiv
iMassiv = Ex.Sheets("Лист1").Range("A1:A50"). Value
ComboBox1.List = iMassiv
NicBor вне форума Ответить с цитированием
Старый 12.11.2010, 14:05   #5
forumWord
Пользователь
 
Регистрация: 23.09.2010
Сообщений: 65
По умолчанию

Я бы вот так работал с книгой Excel:
Код:
Sub Макрос2()
Dim oExcel As Excel.Application
Dim oWorkBook As Excel.Workbook
Set oExcel = CreateObject("Excel.Application")
Set oWorkBook = GetObject("C:\Данные из Excel.xls")
Selection.Text = oWorkBook.Worksheets(1).Range("A1").Value
oWorkBook.NewWindow
oExcel.Quit
Set oExcel = Nothing
Set oWorkBook = Nothing
End Sub

Последний раз редактировалось forumWord; 12.11.2010 в 14:07.
forumWord вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение ComboBox на 3 ComboBox-a artemavd Общие вопросы Delphi 1 21.07.2010 08:02
ComboBox и заполнение базы данных InterBase anechka3107 БД в Delphi 2 26.05.2010 00:42
Заполнение ComboBox датами segail Microsoft Office Excel 9 12.01.2010 21:47
При onselect на combobox вып-ие Query1 и Query2, и заполнение Edit Абдуллаев Рустам БД в Delphi 3 08.05.2009 14:59
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45