Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FileDialog, не работает MS Common Dialog Control 
V
    Опции темы
Vlad_Spb
Дата 9.6.2007, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 9.6.2007

Репутация: нет
Всего: нет




Программирую в MS Access, пытаюсь заставить работать код (взят из справки VB) с использованием Common Dialog Control . Перед этим в tools-references добавил Microsoft Common Dialog Control 6.0 (SP3)

Код не проходит компиляцию - высвечивается ошибка на  выделенной жирным строке - "User-defined type not defined"

Private Sub Command26_Click()
    
    Dim fd As FileDialog

    Set fd = Application.FileDialog(msoFileDialogFolderPicker)

    Dim vrtSelectedItem As Variant

    With fd

        If .Show = -1 Then

            For Each vrtSelectedItem In .SelectedItems

                MsgBox "The path is: " & vrtSelectedItem

            Next vrtSelectedItem
        
        Else
        End If
    End With

    Set fd = Nothing

End Sub

я так понимаю, что VB не воспринимает тип "FileDialog", хотя comndlg32.ocx подключён.    smile 

Подскажите пож-та, что не так.

Заранее благодарен,

Влад
PM MAIL   Вверх
Akina
Дата 9.6.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Если Вы намерены идти по пути создания объекта, то будьте любезны все-таки
Код

Dim fd As Object
Set fd = CreateObject(Application.FileDialog)

Или разместите объект FileDialog на форме и работайте с ним напрямую.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Vlad_Spb
Дата 13.6.2007, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 9.6.2007

Репутация: нет
Всего: нет



Akina,

спасибо за подсказку. Вот, что в результате получилось:

Код

Private Sub Command26_Click()
    
    Dim fd As Object
   
    Set fd = CreateObject(Application.FileDialog(msoFileDialogFolderPicker))
    
    Dim vrtSelectedItem As Variant

    With fd

        If .Show = -1 Then

            For Each vrtSelectedItem In .SelectedItems
                MsgBox "The path is: " & vrtSelectedItem
            Next vrtSelectedItem

 
        Else
        End If

   End With

   Set fd = Nothing

End Sub



Строка №5 приводит к возникновению ошибки "Run time error '-2147467259 (80004005) Method 'FileDialog' of object '_Application' failed (привожу слово в слово).

Продолжаю вгрызаться в VB help. smile 

Может будут ещё идеи? Или работающий пример с применением FileDialog?

Буду очень признателен.

Влад

PM MAIL   Вверх
Vlad_Spb
Дата 13.6.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 9.6.2007

Репутация: нет
Всего: нет



Я разобрался - чтобы работал FileDialog, нужно подключить не только comdlg32.ocx, но и Microsoft Office 10.0 (9.0) Object Library.

После этого заработал код один к одному из VB help... smile 

Если кому пригодится - вот ещё ссылки на эту тему:

Ссылка1
ссылка2 (на немецком)
ссылка3 - sql.ru
MS support - ограничение использования константы msoFileDialogSaveAs

Влад
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.