2017-01-06 3 views
0

ниже - мой код для файла, который будет сохранен в конкретной папке. мой вопрос в том, как я могу сделать папку местоположения открыта автоматически после сохранения. Я google о «aftersave event», но ничего не вышло.Автоматически открывать папку после сохранения excel vba

Private Sub savebr_Click() 

Dim saveas As String 
saveas = "C:\user\file" 
Application.Dialogs(xlDialogSaveAs).Show saveas 

End Sub 
+0

у вас есть событие 'Private Sub Workbook_AfterSave (ByVal Success As Boolean)' в VB editor-> ThisWorkbook – nightcrawler23

+0

что это значит? я нашел команду вызывать папку, это '' shell 'comand, но не может установить выходную папку для сохраненного файла. –

ответ

0

Thisworkbook.path открывать каждый раз, когда путь же рабочей книги (т.е. макрос путь к файлу)

Если ваш добавляете много книг Excel и сохраните его на другом пути и выбери , чтобы открыть этот путь, чтобы использовать код ниже.

Не обязательно использовать событие для этого, вы можете просто написать код после сохранения книги.

Private Sub Workbook_AfterSave(ByVal Success As Boolean) 
    Call Shell("explorer.exe" & " " & Activeworkbook.Path, vbNormalFocus) 
End sub 
+0

Спасибо. Теперь он работает отлично. –

1

Итак, вы хотите открыть папку, в которой текущая книга была сохранена автоматически после сохранения. Вставьте этот код в код ThisWorkbook в VB Editor

Private Sub Workbook_AfterSave(ByVal Success As Boolean) 
    Call Shell("explorer.exe" & " " & ThisWorkbook.Path, vbNormalFocus) 
End Sub 

Screenshot

+0

Спасибо за код, он близок к работе, но папка вывода ошибочна. вместо этого он откроет мою личную папку макросов. а не папку, в которую я сохранил файл. –

+0

На изображении выше код вставляется в модуль 'ThisWorkbook' книги Book1.xlsm. Вероятно, вы (на 99% уверены) вставили его в модуль 'ThisWorkbook' из« Personal.xlsb » – nightcrawler23

+0

, который я вставлял в модуль ThisWorkbook в« Personal.xlsb », но папка не открылась после сохранения –

Смежные вопросы