Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352

Работа с менюшками

16.01.2013, 11:18. Показов 2577. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Допустим у меня есть файл и я его открываю так:
Visual Basic
1
 Set xlsWb = xlsApp.Workbooks.Open("C:\Documents and Settings\User\отчет.xls")
Ну это конкретный файл и я знаю где он лежит. А хочется использовать что то вроде ОБЗОРА где я найду нужный файл?

2) необходимо такую меню где я просто нажимаю на стрелочку в окошке и выпадает список, кот я заранее создам. И как я выберу то что надо, тогда вставить в ячейку определенную excelя?

Заранее благодарен!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2013, 11:18
Ответы с готовыми решениями:

Ссылка для перехода между менюшками
У меня есть меню, мне нужно из сайта переходить по ссылкам предыдушего пункта меню или следующего (в поорядке как они находятся в админке...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми элементами управления(toolbox).И если...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт преподавания не обязателен, главное чтобы вы не...

39
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
16.01.2013, 18:08
Visual Basic
1
2
3
4
fileToOpen = Application.GetOpenFilename("Only these Files (*.txt;*.doc;*.xls), *.txt; *.doc; *.xls")
If fileToOpen <> False Then
MsgBox "Open " & fileToOpen
End If
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 07:04  [ТС]
ошибку на application выдает, видать библиотеку надо полдключить...
Только какую?
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,905
17.01.2013, 07:09
Техник55, замени Application на твою xlsApp ?
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 07:23  [ТС]
может тогда просто на App?
Ведь мне разные файлы нужны
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,905
17.01.2013, 07:36
Visual Basic
1
2
3
4
5
6
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
fileToOpen = xlsApp.GetOpenFilename("Все файлы (*.*), *.*")
If fileToOpen <> False Then
MsgBox "Open " & fileToOpen
End If
Добавлено через 4 минуты
В просто App по умолчанию есть только допотопные DriveListBox, DirListBox и FileListBox
Если это устраивает, то
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 08:08  [ТС]
все вроде работает, excel запускает, далее ОБЗОР. Когда выбираешь, сообщение выкидывает, а далее все сворачивается и все
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
17.01.2013, 08:25
А больше-то ничего и нет!
Visual Basic
1
MsgBox "Open " & fileToOpen
Добавляй после месаги свой код

Добавлено через 4 минуты
Кстати можно использовать диалог открытия файлов не только екселовский.
Можно старым испытанным CommonDialog контролом. Подключи, брось на форму и потом:
Visual Basic
1
2
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 08:26  [ТС]
Логично!
ну я так понимаю что после msgbox должен открыться тот файл кот я выбрал?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
17.01.2013, 08:27
А это уже тебе решать открывать или нет!
Может тебе просто в список записать
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 08:43  [ТС]
просто я думал раз я в обзоре нажал открыть он и должен открывать...
0
Заблокирован
17.01.2013, 09:36
Техник55, подставляй путь из обзора и все.
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,905
17.01.2013, 10:56
Цитата Сообщение от Техник55 Посмотреть сообщение
просто я думал раз я в обзоре нажал открыть он и должен открывать...
Visual Basic
1
2
3
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
xlsApp.Dialogs(1).Show
сим-сим, откройся
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 18:36  [ТС]
Цитата Сообщение от inv.DS Посмотреть сообщение
Техник55, подставляй путь из обзора и все.
а как написать чтобы тот путь кот выбрал встал в:
Visual Basic
1
Set xlsWb = xlsApp.Workbooks.Open("ВОТ СЮДА")
Добавлено через 3 часа 13 минут
Вроде все просто:
Visual Basic
1
Set xlsWb = xlsApp.Workbooks.Open(fileToOpen)
но выдает ошибку:object variable or with variable not set
0
Заблокирован
17.01.2013, 19:33
Выложи все, что у тебя получилось сюда.
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
17.01.2013, 19:38  [ТС]
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
29
Private Sub Command1_Click()
Dim xlsApp As Object
Dim xlsWb  As Object
Dim xlsSh   As Object
 
 
        
       Set xlsWb = xlsApp.Workbooks.Open(fileToOpen)
       Set xlsSh = xlsWb.Sheets("ëèñò1")
      Call BLANK
      
Dim R, S
Dim Razd, VIP, Rad, Roned, D
 
 
 
For R = 10 To xlsSh.Cells(10, 1).End(-4121).Row
If IsNumeric(xlsSh.Cells(R, 1).Value) Then
                xlsApp.Windows("îò÷åò.xls").Activate
                Rad = xlsSh.Cells(R, 10)
                 Roned = xlsSh.Cells(R, 1)
..........................................................
..........................................................
Function fileToOpen()
Dim xlsApp As Object
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
fileToOpen = xlsApp.GetOpenFilename("Âñå ôàéëû (*.*), *.*")
End Function
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,905
17.01.2013, 20:01
Техник55, проблема в видимости объекта Dim xlsApp As Object.
Объяви его на уровне модуля (выше всех процедур),
соответственно удалив из всех процедур.
И активацию сделай раньше любого обращения к нему, например в событии Form_Load().

Visual Basic
1
2
3
4
5
6
7
Option Explicit
Dim xlsApp As Object
 
Private Sub Form_Load()
Set xlsApp = CreateObject("Excel.Application")
xlsApp.Visible = True
End Sub
Потом работай с этим объектом как хочешь.
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
18.01.2013, 16:53  [ТС]
Решил попробовать через CommonDialog1.ShowOpen. Компонет кинул на форму.
Было так:
Visual Basic
1
2
For S = 1 To 40
    If Rad = "выполнено" And Dir("C:\Users\Lenovo\Desktop\п." & Val(S) & ".*") <> "" And Roned = Val(S) Then
Вот нельзя?
Visual Basic
1
2
For S = 1 To 40
    If Rad = "выполнено" And Dir(CommonDialog1.ShowOpen"\п." & Val(S) & ".*") <> "" And Roned = Val(S) Then
0
Заблокирован
18.01.2013, 17:20
Цитата Сообщение от Техник55 Посмотреть сообщение
For S = 1 To 40 If Rad = "выполнено" And Dir(CommonDialog1.ShowOpen"\п." & Val(S) & ".*") <> "" And Roned = Val(S) Then


Не по теме:

[вырезано] ПОЙМИ, ЧТО ЗАЧЕМ И КАК НАПИСАЛ !

0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
18.01.2013, 17:24
Откуда такое навязчивое стремление всё засунуть в одну строку?
Везде советуют разделять. Не выполнилось одно условие - зачем проверать остальные?

Visual Basic
1
Dir(CommonDialog1.ShowOpen"\п." & Val(S) & ".*") <> ""
Попробуй на словах объяснить условие. Я что-то смутно представляю эту конструкцию
Типа "квадратный трёхчлен в кубе": то ли матеметическое выражение, то ли мутант в кунсткамере
Если выбираешь файл через диалог, то какой смысл проверять его наличеи в папке?
И потом (CommonDialog1.ShowOpen) как можно сравнивать метод?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2013, 17:24
Помогаю со студенческими работами здесь

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе, как только ее отпускаем - она не реагирует. Public...

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу расширения, полезную работу и КПД цикла предыдущей...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и очищать поле (создать новый/очистка). Также хочу спросить как...

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в папке &quot;Общие документы&quot; и задать для него свойство...

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++). Интересует работа с прерываниями, указатели, работа с памятью,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru