С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1

ComboBox в Microsoft Visio

25.10.2013, 07:27. Показов 3230. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как мне создать ComboBox в документе Visio, чтобы в нем был список файлов Excel и при выборе нужного файл открывался. Как вставить элемент управления я знаю. Вопрос в том, где (в каком блоке кода) мне проинициализировать элементы поля со списком
Visual Basic
1
2
3
4
With ComboBox1
        .AddItem "C:\file1.xls"
        .AddItem "C:\file2.xls"
    End With
И с помощью каких процедур открыть файл Excel?
Заранее спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2013, 07:27
Ответы с готовыми решениями:

Microsoft Visio
Здравствуйте,ребят помогите мне с проблемой,пользуюсь я Visio 2013 и в этом я пока новичок,когда рисовал проект забыл указать на нужных...

Microsoft Visio
При работе в Microsoft Visio 2007, как можно редактировать размеры фигур по умолчанию? Например толщину стен здания (при присмотре окна...

Microsoft Office Visio
Всем привет, срочно нужна книга-самоучитель по Microsoft Office Visio! Подскажите, где можно купить или скачать подобную литературу!!!

20
Заблокирован
25.10.2013, 08:34
Запуск MS Word через функцию Shell вот так открыть файл. Остальное ты уже сделал сам.
1
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
25.10.2013, 08:48  [ТС]
Цитата Сообщение от inv.DS Посмотреть сообщение
Остальное ты уже сделал сам.
А куда вставить мой код инициализации, как выглядит процедура, в которой производятся действия по открытия документа?

Добавлено через 10 минут
И я наверное неправильно выразился, мне надо, потом с файла Excel информацию считывать.
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
25.10.2013, 09:04
Из Access не открывается файл Excel
1
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
25.10.2013, 09:08  [ТС]
Цитата Сообщение от ildwine Посмотреть сообщение
А куда вставить мой код инициализации, как выглядит процедура, в которой производятся действия по открытия документа?
Этот вопрос решил:
Visual Basic
1
2
3
4
5
6
Private Sub Document_DocumentOpened(ByVal doc As IVDocument)
    With ComboBox1
        .AddItem "C:\123.xlsx"
        .AddItem "C:\345.xlsx"
    End With
End Sub
0
Заблокирован
25.10.2013, 09:13
ildwine, Можно и по другому, вдруг имена файлов будут разные.
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
25.10.2013, 09:14  [ТС]
Мне важнее получить доступ к файлу Excel на чтение
0
Заблокирован
25.10.2013, 09:16
ildwine, У меня нет установленного приложения которое вам нужено. Поэтому могу предложить вам установить тимвивер (TeamViwer) программа удаленного администрирования, я подключусь к вам и помогу сделать.
0
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
25.10.2013, 09:28  [ТС]
inv.DS, спасибо конечно, но не стоит. В принципе не принципиально из какого приложения. Пусть даже это будет Word. Из Word открыть файл Excel и считать диапазон A1:A10, записав в какой-нибудь массив.

Добавлено через 3 минуты
Важен пример принципа как это делать. Просто сама задача мне самому не ясна, что конкретно там потом надо будет с этими данными делать. Попросила помочь девушка, которая сейчас далеко и ей на производственной практике поставили задачу сидеть осваивать Visio + VBA
0
Заблокирован
25.10.2013, 09:34
Подключи библиотеку Excel.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Dim XL As New Excel.Application
 
Private Sub Command1_Click()
XL.Range(A1).Value = Text1
End Sub
 
Private Sub Command2_Click()
Text3 = XL.Range(A2).Value
End Sub
 
Private Sub Form_Load()
 
'Çäåñü ïåðåìåííàÿ XL áåðåò íà ñåáÿ ðîëü ïðèëîæåíèÿ Excel.
XL.Workbooks.Open App.Path & "\Book.xlsx"
'Îòêðûâàåì èìåþùóþñÿ â íàëè÷èè ðàáî÷óþ êíèãó MyBook.xls
XL.Visible = True
 
Set XL = XL.ActiveWorkbook.Sheets.Application
' Ïåðåäàåì íàøåé ïåðåìåííîé óïðàâëåíèå îòêðûòîé ðàáî÷åé êíèãîé.
 
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
XL.ActiveWorkbook.Save
'XL.ActiveWorkbook.SaveAs "C:\MyNewWorkBook.xls"
XL.ActiveWorkbook.Close
End Sub
1
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
25.10.2013, 09:34  [ТС]
Спасибо за ответы, будем разбираться
0
Заблокирован
25.10.2013, 09:35
Я пост изменил, прочитай.
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
25.10.2013, 09:52
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

Или не подключай библиотеку Excel.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub WorkExcel()
Dim appExcel As Object
Dim wbk As Object
Dim wks As Object
Dim rn As Object
Dim r As Long, c As Long
Dim a
 
Set appExcel = CreateObject("Excel.Application") 'создаем
appExcel.Visible = True 'показываем
Set wbk = appExcel.workbooks.Open("d:\tmp.xls") 'открываем
Set wks = wbk.sheets.Add 'новый лист
Set rn = wks.Cells 'все ячейки нового листа
For r = 1 To 10 'заполняем
  For c = 1 To 8 'часть
    rn(r, c) = Int(Rnd * 100) 'ячеек
  Next c
Next r
 
a = appExcel.Range(rn(1, 1), rn(10, 8)) 'считываем их в массив
 
appExcel.Quit 'закрываем
Set rn = Nothing 'об-
Set wks = Nothing 'ну-
Set wbk = Nothing 'ля-
Set appExcel = Nothing 'ем!
 
End Sub
2
Почетный модератор
 Аватар для ildwine
6201 / 2963 / 1300
Регистрация: 04.03.2013
Сообщений: 5,797
Записей в блоге: 1
25.10.2013, 10:43  [ТС]
Апострофф, работает спасибо.
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
25.10.2013, 10:49
Цитата Сообщение от inv.DS Посмотреть сообщение
Set XL = XL.ActiveWorkbook.Sheets.Application
' Передаем нашей переменной управление открытой рабочей книгой.
Масло масляное
1
Заблокирован
25.10.2013, 16:00
Апострофф, Не люблю создание объектов через CreateObject!
0
25.10.2013, 17:21

Не по теме:

inv.DS, я не про это.

Visual Basic
1
Set XL = XL.ActiveWorkbook.Sheets.Application
лишняя строка (зачем объекту повторно назначать самого себя же?).

0
Заблокирован
25.10.2013, 17:30
Апострофф, Это создание нового объекта, как в примере:

Set rs As New ADODB.Recordset

Добавлено через 41 секунду
С которым и работают потом, к примеру в .NET не работает объект пока не создашь новый.
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
25.10.2013, 17:34
Цитата Сообщение от inv.DS Посмотреть сообщение
Это создание нового объекта
Это тот же самый объект, который тобой уже был создан и даже исправно работал в предыдущих строках твоего кода.
Вот и спрашиваю - в чем его новизна?
0
Заблокирован
25.10.2013, 17:55
Цитата Сообщение от Апострофф Посмотреть сообщение
Вот и спрашиваю - в чем его новизна?
Привычка с .NET и C# я уже написал почему там не работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2013, 17:55
Помогаю со студенческими работами здесь

Microsoft Visio 2010
можно ли в Visio заменить например прямоугольники, на треугольники, и подскажите реализацию спс

Зависает Microsoft Visio 2007
Microsoft Visio 2007 Pro, после создания любого документа, при попытке выбрать в меню файл "параметры страницы" или...

Сбой установки microsoft visio
во время установки microsift visio произошел сбой питания, теперь не получается установить необходимый софт. Надо распечатать файлы формата...

Не запускается Microsoft Office Visio 2007
При попытке запустить Microsoft Office Visio 2007 выдается сообщение об ошибке: "Конфигурация операционной системы не рассчитана на запуск...

Microsoft Visio или Rational Rose?
Добрый день форумчане! У меня возник вопрос, извените если такая тема уже была(искал - не нашел). Я должен в Лотусе написать генерацию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru