Страница 1 из 1

Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 15 апр 2012 18:57
lexincton
Может кто подскажет как вызвать окно, появляющееся при сохранении с выбором каталога и имени??

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 15 апр 2012 20:57
Wireless_Fidelity
Есть соответствующий ActiveX компонент:

Код: Выделить всё
Private Sub fnShellBrowseForFolderVB()
    Dim objShell   As Shell
    Dim ssfWINDOWS As Long
    Dim objFolder  As Folder
   
    ssfWINDOWS = 36
    Set objShell = New Shell
        Set objFolder = objshell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
            If (Not objFolder Is Nothing) Then
                'Add code here
            End If
        Set objFolder = Nothing
    Set objShell = Nothing
End Sub

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 15 апр 2012 23:48
lexincton
Wireless_Fidelity писал(а):Есть соответствующий ActiveX компонент:

Код: Выделить всё
Private Sub fnShellBrowseForFolderVB()
    Dim objShell   As Shell
    Dim ssfWINDOWS As Long
    Dim objFolder  As Folder
   
    ssfWINDOWS = 36
    Set objShell = New Shell
        Set objFolder = objshell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
            If (Not objFolder Is Nothing) Then
                'Add code here
            End If
        Set objFolder = Nothing
    Set objShell = Nothing
End Sub

Я в чистый макрос вставляю, на 1 строку ругается...

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 15 апр 2012 23:58
Wireless_Fidelity
Это отдельная функция, её нужно вызвать из CATMain, либо же использовать её код:

Код: Выделить всё
Sub CATMain()

    Dim objShell   As Shell
    Dim ssfWINDOWS As Long
    Dim objFolder  As Folder
   
    ssfWINDOWS = 36
    Set objShell = New Shell
        Set objFolder = objshell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
            If (Not objFolder Is Nothing) Then
                'Add code here
            End If
        Set objFolder = Nothing
    Set objShell = Nothing

End Sub

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 16 апр 2012 00:00
lexincton
Wireless_Fidelity писал(а):Это отдельная функция, её нужно вызвать из CATMain, либо же использовать её код:

Код: Выделить всё
Sub CATMain()

    Dim objShell   As Shell
    Dim ssfWINDOWS As Long
    Dim objFolder  As Folder
   
    ssfWINDOWS = 36
    Set objShell = New Shell
        Set objFolder = objshell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
            If (Not objFolder Is Nothing) Then
                'Add code here
            End If
        Set objFolder = Nothing
    Set objShell = Nothing

End Sub

Тоже пробовал, в таком варианте или вообще ничего не происходит или ругается на shell 8 строка - класс неопределен!

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 16 апр 2012 00:26
Wireless_Fidelity
Уберите As Shell вообще.
Вместо New Shell напишите CreateObject("Shell.Application")

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 16 апр 2012 01:16
lexincton
Спасибо огромное!) только как сделать, чтобы objFolder содержал в себе полный путь?

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 16 апр 2012 01:56
Wireless_Fidelity
objFolder.Self.Path или CStr(objFolder)

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 16 апр 2012 08:33
lexincton
Спасибо! Все получилось)

Re: Вызов диалогового окна "Сохранение как"

СообщениеДобавлено: 11 май 2012 22:08
lexincton
Оказалось все проще через вызов CATIA-ой комманды!