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

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

16.01.2013, 11:18. Показов 2745. Ответов 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
Заблокирован
18.01.2013, 17:26
Студворк — интернет-сервис помощи студентам
Техник55, Ты послушал бы дедушку Alex77755, он однако хороший специалист ! Правда !
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
18.01.2013, 17:31  [ТС]
Вот у меня был указан путь
Visual Basic
1
Dir("С:...................\п." & Val(S) & ".*") <> ""
А я хотел этот путь как бы через обзор вставить
Visual Basic
1
Dir(CommonDialog1.ShowOpen"\п." & Val(S) & ".*") <> ""
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
18.01.2013, 17:44
Dir проверяет наличей файла в папке
CommonDialog1.ShowOpen - действие, процедура, если хочешь, Открытие диалога
Если уж проверять, то CommonDialog1.FileName

Добавлено через 1 минуту
И без Dir - уже ж выбрал файл! зачем проверять наличие? Не было - не выбрал бы

Добавлено через 2 минуты
Option Explicit поставь вверху модуля - подсказывать будет, что несоответствие типа

Добавлено через 5 минут
Если нужно выбрать каталог и проверять в нём наличие файла, то CommonDialog для этого плохо подходит. Он для выбора файла.
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
18.01.2013, 18:05  [ТС]
Опыта мало, вот и написал, как думал.
Словами: есть папка(дирретория) в которой у меня файлы п.1, п.2, п.3. Вот я и хочу через обзор указать путь до файлов
А там проверять файлы п.S где S=1 до 40
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
18.01.2013, 23:03
Для выбора каталога тоже есть несколько вариантоФ.
Вот один из них:
Вложения
Тип файла: rar Выбор кталога.rar (7.0 Кб, 5 просмотров)
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
19.01.2013, 08:05  [ТС]
в принципе разобрался с CommonDialogs

Visual Basic
1
2
3
CommonDialog1.ShowOpen
For S = 1 To 40
   If Dir(CommonDialog1.Initdir & "п."  & S & ".*") <> "" Then
Заходишь в директорию выбираешь любую папку и все.
Нам главное путь к дирректории CommonDialog1.Initdir.
Но одна проблемма если папка будет пуста то директория не установится, нужны любые файлы.
Будут ВАШ код смотреть, это реально не лучший вариант. Зато для себя понял как работать с CommonDialogs

Добавлено через 1 час 23 минуты
Цитата Сообщение от Alex77755 Посмотреть сообщение
Для выбора каталога тоже есть несколько вариантоФ.
Вот один из них:
Так открываю работает. Код тяжеловат для моего восприятия.
Пробовал его использовать:
Visual Basic
1
Dir(Folder.initdir & "п."  & S & ".*") <> ""
Но не идет что-то
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
19.01.2013, 08:13
Visual Basic
1
    MyPath = strPath & "\" ' Указывает путь.
Добавлено через 1 минуту
Или Print strPath
Не помню какой пример кидал

Добавлено через 39 секунд
Хотя он, оказался одинаковый strPath

Добавлено через 1 минуту
Наверное так:
Visual Basic
1
Dir(strPath & "\" & "п."  & S & ".*") <> ""
Добавлено через 1 минуту
Visual Basic
1
1   Dir(strPath & "\п."  & S & ".*") <> ""
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
19.01.2013, 08:54  [ТС]
И так пробовал
Цитата Сообщение от Alex77755 Посмотреть сообщение
Dir(strPath & "\п." & S & ".*") <> ""
И так
Visual Basic
1
Dir(sPath & "\п." & S & ".*") <> ""
потому что не нашел в коде strPath.
Ошибки не выдает, но папка с файлами не обрабатывается
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
19.01.2013, 08:59
Так вызывал?
Visual Basic
1
2
  BrowseForFolder Me.hWnd, "Hi, Select ... "
Dir(sPath & "\п." & S & ".*") <> ""
Dim strPath As String глобальная?

Добавлено через 2 минуты
потому что не нашел в коде strPath.
По тому, что не используешь Option Explicit - он бы тебе сразу сказал!
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
19.01.2013, 09:21  [ТС]
нет ее в глобальных
Visual Basic
1
Dim strPath As String
так вызывал:
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Command3_click()
Set Fso=createobiect (.........)
Folder Me.hwnd
End Sub
Private Sub Command3_click()
.............
...........
Dir(sPath & "\п." & S & ".*") <> ""
End Sub
Одной кнопкой указываю диррекорию, второй основную часть...
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
19.01.2013, 09:25
А должна быль! в примере же показано!
Поставь:
Visual Basic
1
2
Option Explicit
Dim strPath As String
Добавлено через 1 минуту
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Option Explicit
Dim strPath As String
 
Private Type BrowseInfo
 
    hwndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As String
    ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
End Type
 
 
 
    Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
    Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
 
Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
    Const BIF_RETURNONLYFSDIRS = 1, MAX_PATH = 260
    Dim intNull As Integer, lngIdList As Long
    Dim udtBI As BrowseInfo
 
With udtBI
        .hwndOwner = hwndOwner
        .lpszTitle = sPrompt
        .ulFlags = BIF_RETURNONLYFSDIRS
End With
    lngIdList = SHBrowseForFolder(udtBI)
    If lngIdList Then
        strPath = String$(MAX_PATH, 0)
        SHGetPathFromIDList lngIdList, strPath
        CoTaskMemFree lngIdList
        intNull = InStr(strPath, vbNullChar)
        If intNull Then strPath = Left$(strPath, intNull - 1)
    End If
    BrowseForFolder = strPath
End Function
 
 
Private Sub Комманда1_Click()
    BrowseForFolder Me.hWnd, "Hi, Select ... "
    Print strPath
End Sub
2
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
19.01.2013, 10:05  [ТС]
Спасибо, шас все ОК.
Еще раз открыл тот пример и в упор не вижу strPath.
Эта переменная есть spath, но она объявлена Не глобально.
Может просто пример другой дали.
Уточняющий вопрос, в сетевые диски будет заходить???
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
19.01.2013, 10:38
А посмотреть диалог самому?
У меня входит
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
19.01.2013, 10:58  [ТС]
Да глянул Бы. Доступ к сетке закрыт.
Просто буду показывать прогу и вдруг не пойдет...
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
01.02.2013, 13:18  [ТС]
Подскажите, как сделать, если закрываю форму, то закрывалось все с чем она работала, допустим excel файлы!!!!
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
01.02.2013, 13:23
Закрывать придётся самому!
В события закрытия программы прописать код закрытия книг и приложения
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.02.2013, 19:08
Техник55, вот так еще можно получить расположение выбранной папки:
Visual Basic
1
sPath = CreateObject("Shell.Application").BrowseForFolder(0, "Select a Folder", BIF_RETURNONLYFSDIRS).self.Path
На событие
Visual Basic
1
2
3
Private Sub Form_Unload(Cancel As Integer)
 
End Sub
вешаете закрытие всех открытых книг, например:
Visual Basic
1
2
3
4
5
    For Each WB In XL.Workbooks
        WB.Close True 'Закрыть все открытые книги с сохранением изменений
    Next
 
    XL.quit 'Закрыть приложение Excel
Переменные, естественно, свои подставите.
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
03.02.2013, 08:04  [ТС]
Подскажите. С пощью функции открываю файл:
Visual Basic
1
2
3
4
5
6
7
Function fileToOpen()
fileToOpen = xlsApp.GetOpenFilename("Все файлы (*.*), *.*")
If fileToOpen = False Then
MsgBox "файл не определен"
fileToOpen.Close
End If
End Function
И если файл не выбран и я нажал отмена, тогда fileToOpen закрывается, но вылазит ошибка
0
 Аватар для Апострофф
9912 / 3933 / 743
Регистрация: 11.10.2011
Сообщений: 5,915
03.02.2013, 08:41
Цитата Сообщение от F1
Application.GetOpenFilename Method
Displays the standard Open dialog box and gets a file name from the user without actually opening any files.
Цитата Сообщение от Техник55 Посмотреть сообщение
Visual Basic
1
2
3
4
If fileToOpen = False Then
MsgBox "файл не определен"
fileToOpen.Close
End If
Фактически здесь написано
Visual Basic
1
False.Close 'т.е. ерунда какая-то
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
03.02.2013, 09:54  [ТС]
Да действительно ерунда. По другому сделал, щас все ОК...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2013, 09:54

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru