Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 09:15   #1
Ubicum
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 31
По умолчанию Выбор директории для сохранения.

Уважаемые подскажите как в эту форму добавить функцию выбора директории для сохранения диаграмм.
Save_Chart_As_Picture.rar
Ubicum вне форума Ответить с цитированием
Старый 30.10.2012, 11:58   #2
Ubicum
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 31
По умолчанию

Суть вопроса такова, сами таблицы хранятся на сервере пользователи сохраняют себе на рабочий ярлык заполняют и сохраняют диаграмму себе в презентацию в формате рисунка. А с этой формой они сохраняются на сервере в папку которую указал пользователь.
Ubicum вне форума Ответить с цитированием
Старый 30.10.2012, 14:26   #3
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Для выбора директории можно сделать так:
Вверх модуля modMain добавить:

Код:
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

Dim strPath As String
    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 CommandButton_export_Click()

     FolderPath = BrowseForFolder(ActiveWorkbook.Application.Hwnd, "Выбери каталог  ... ")

'    FolderPath = Replace(ActiveWorkbook.FullName, ActiveWorkbook.Name, Me.TextBox_folder) & "\"
'    On Error Resume Next: MkDir FolderPath
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 30.10.2012, 14:34   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

А не проще использовать
Код:
Application.GetSaveAsFilename
?
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 30.10.2012, 14:44   #5
Ubicum
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 31
По умолчанию

РРРРРААСЦЕЛОВАЛ БЫЫ)))))))))))))
Ubicum вне форума Ответить с цитированием
Старый 30.10.2012, 14:54   #6
Ubicum
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 31
По умолчанию

Выдает окно выбора папки, а далее сохраняет просто на рабочий стол а ту папку которую выбрал назначает в имени файла в чём загвоздка?
Ubicum вне форума Ответить с цитированием
Старый 30.10.2012, 15:00   #7
Ubicum
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 31
По умолчанию

Всё решил))) всем спасибо))
Ubicum вне форума Ответить с цитированием
Старый 31.10.2012, 01:06   #8
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
А не проще использовать
Код:
Application.GetSaveAsFilename
?
На вопрос надо отвечать корректно:
Цитата:
добавить функцию выбора директории
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 31.10.2012, 05:11   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

alex77755, диалоговое окно выбора папки можно вывести куда проще:

http://excelvba.ru/code/GetFileOrFolderPath
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать в PDF (выбор директории для сохранения) ruavia3 Microsoft Office Excel 1 27.01.2012 12:33
Выбор сохранения slai Общие вопросы Delphi 4 19.10.2010 10:17
Выбор директории Kashp Общие вопросы Delphi 6 06.05.2009 06:29
выбор директории Var17 Win Api 5 13.05.2008 13:50