Application.FileDialog

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Application.FileDialog

What hosting to choose?

GeorgeSoca » 15 окт 2015, 02:56

Pa vart webbhotell kan ni kanna er trygg! Forutom att vi anvander oss av speglade harddiskar pa alla vara servrar sa tar vi aven backup tva ganger per dygn pa separata servrar. Vi anvander oss av ISPmanager som kontrollpanel. ISPmanager ar en kontrollpanel som gor det enkelt att administrera sin hemsida. Hos oss kan ni lagga hur manga hemsidor och domaner ni onskar under ett webbhotellskonto.
virtual hosting

Re: Application.FileDialog

Teslenko_EA » 02 май 2007, 16:42

Здравствуйте afg.
для регистрации библиотеки самостоятельно выполните примерно такую команду:
regsvr32.exe "Путь\имя файла библиотеки"
если необходимо произвести регистрацию многократно, создайте командный файл (ИмяФайла.cmd) и в него поместите команду регистрации.
В случае если для выполнения регистрации недостаточно "прав" (очень часто в доменных сетях), библиотека не зарегистрируется, потребуется помощь администратора. (возможно в этом Ваша проблема)
Евгений.

Re: Application.FileDialog

afg » 02 май 2007, 09:33

Teslenko_EA писал(а):Здравствуйте Aent.
" Несколько непонятна Ваша проблема..."
Огромное спасибо всем. Еще вопрос. Инсталляшка у нас в конторе расположена на сервере. В результате запуска setup библиотеки устанавливаются, а регистрация не проходит. Как быть в этом случае? Я не могу менять расположенную на сервере инсталляцию.

Re: Application.FileDialog

Teslenko_EA » 28 апр 2007, 20:32

Здравствуйте Aent.
" Несколько непонятна Ваша проблема..."
Я не учел использования возможностей MS Office 11, т.к. в основном использую VB (не VBA).
А если на компьютере пользователя нет MS Office 11 и если MS Office не установлен совсем, в любом случае, эта библиотека облегчает использование диалогов.
С уважением.
Евгений.

Re: Application.FileDialog

afg » 28 апр 2007, 09:31

Aent писал(а):Проверьте (VBE->Tools->References..), что в проекте включена ссылка на стандартную библиотеку
Microsoft Office 11.0 Object Library (11.0 для 2003, 10.0 для OFFICE XP и т.д)
Этот файл обычно находится по пути:
\Program Files\Common Files\Microsoft Shared\OFFICE11\mso.dll
Возможно у вас слетела регистрация этого компонента.
Тогда перерегистрируйте его, скажем, используя regsvr32.exe (из Windows\System32),
или воспользовавшись средством repair (восстанавливающая инсталляция) офиса.
P.S. Object Browser - великая сила ;)
Большое спасибо. По крайней мере помогло выявить проблему...
P.S. Лучший программный продукт сделан по технологии Open Source. :cool:

Re: Application.FileDialog

Aent » 27 апр 2007, 10:19

&quot писал(а):Как обеспечить вызов библиотеки (и какой) чтобы его запустить?
Проверьте (VBE->Tools->References..), что в проекте включена ссылка на стандартную библиотеку
Microsoft Office 11.0 Object Library (11.0 для 2003, 10.0 для OFFICE XP и т.д)
Этот файл обычно находится по пути:
\Program Files\Common Files\Microsoft Shared\OFFICE11\mso.dll
Возможно у вас слетела регистрация этого компонента.
Тогда перерегистрируйте его, скажем, используя regsvr32.exe (из Windows\System32),
или воспользовавшись средством repair (восстанавливающая инсталляция) офиса.
P.S. Object Browser - великая сила ;)

Re: Application.FileDialog

afg » 27 апр 2007, 09:52

Aent писал(а):Несколько непонятна Ваша проблема. В Access (по крайней мере в 2003)
FileDialog есть. Пример из Help'а Access 2003:
Согласен, что есть. У меня он не запускается. Как обеспечить вызов библиотеки (и какой) чтобы его запустить?

Re: Application.FileDialog

Aent » 27 апр 2007, 03:07

Несколько непонятна Ваша проблема. В Access (по крайней мере в 2003)
FileDialog есть. Пример из Help'а Access 2003:

Код: Выделить всё

'This example displays the Open dialog box and allows a user to select multiple files to open.

Dim dlgOpen As FileDialog

Set dlgOpen = Application.FileDialog( _
    FileDialogType:=msoFileDialogOpen)

With dlgOpen
    .AllowMultiSelect = True
    .Show
End With

Re: Application.FileDialog

Aent » 26 апр 2007, 15:19

Господа, а почему бы вам не воспользоваться стандартным объектом FileDialog,
поддерживаемым MS OFFICE ? Не надо никаких дополнительных ActiveX. В проекте
должна быть стандартная ссылка на Microsoft Office 11.0 Object Library ( для 2003)
Цитирую Help

Provides file dialog box functionality similar to the functionality of the standard Open and Save dialog boxes found in Microsoft Office applications. With these dialog boxes, 'users of your solutions can easily specify the files and folders that your solution should use.

Using the FileDialog object
Use the FileDialog property to return a FileDialog object. The FileDialog property is located in each individual Office application's Application object. The property takes a single argument, DialogType, that determines the type of FileDialog object that the property returns. There are four types of FileDialog object:

Open dialog box - lets users select one or more files that you can then open in the host application using the Execute method.
SaveAs dialog box - lets users select a single file that you can then save the current file as using the Execute method.
File Picker dialog box - lets users select one or more files. The file paths that the user selects are captured in the FileDialogSelectedItems collection.
Folder Picker dialog box - lets users select a path. The path that the user selects is captured in the FileDialogSelectedItems collection.
Each host application can only instantiate a single instance of the FileDialog object. Therefore, many of the properties of the FileDialog object persist even when you create multiple FileDialog objects. Therefore, make sure that you've set all of the properties appropriately for your purpose before you display the dialog box.

In order to display a file dialog box using the FileDialog object, you must use the Show method. Once a dialog box is displayed, no code will execute until the user dismisses the dialog box. The following example creates and displays a File Picker dialog box and then displays each selected file in a message box.

Код: Выделить всё

Sub Main()

    'Declare a variable as a FileDialog object.
    Dim fd As FileDialog

    'Create a FileDialog object as a File Picker dialog box.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    'Declare a variable to contain the path
    'of each selected item. Even though the path is a String,
    'the variable must be a Variant because For Each...Next
    'routines only work with Variants and Objects.
    Dim vrtSelectedItem As Variant

    'Use a With...End With block to reference the FileDialog object.
    With fd

        'Use the Show method to display the File Picker dialog box and return the user's action.
        'The user pressed the action button.
        If .Show = -1 Then

            'Step through each string in the FileDialogSelectedItems collection.
            For Each vrtSelectedItem In .SelectedItems

                'vrtSelectedItem is a String that contains the path of each selected item.
                'You can use any file I/O functions that you want to work with this path.
                'This example simply displays the path in a message box.
                MsgBox "The path is: " & vrtSelectedItem

            Next vrtSelectedItem
        'The user pressed Cancel.
        Else
        End If
    End With

    'Set the object variable to Nothing.
    Set fd = Nothing

End Sub

P.S Object Browser - великая сила ;)

Re: Application.FileDialog

Teslenko_EA » 25 апр 2007, 19:06

afg, и снова здравствуйте.
С применением библиотеки используются "стандартные" диалоги Windows.
единсвенный (нр немаловажный) плюс - Вам не придется писать "многостраничный" код для получения того же результата.
Но если Вам интересно дпя сравнения прилагаю.
Удачи.
Евгений
P.S.
и вообще все ActiveX'ы служат для облегчения "программерской работы" :)

Вернуться к началу