Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Глюк MS Office?


Автор: shurikv 13.3.2015, 09:31
MS Office 2007. Хотел сделать макрос для записи файлов в разные папки. Тоесть жмем иконку, выходит форма со списком папок, выбираем нужную двойным щелчком и открывается диалоговое окно для сохранения с уже готовым путем (папкой). Сделал автоматическую запись макроса. Но оказалось, что функция ChangeFileOpenDirectory "путь" не работает, все равно открывается папка, куда была сделана последнее сохранение. Хотя при открытии файла все нормально, папка меняется.

Автор: Akina 13.3.2015, 12:03
Офис - он большой... приложение-то какое? Ворд небось? Показывай код, который после выполнения ChangeFileOpenDirectory открывает диалог выбора.

Автор: shurikv 13.3.2015, 13:55
Разумеется WORD. Хотя не думаю, что этот код будет отличаться в EXCEL.

Код

Sub Макрос2()
'
' Макрос2 Макрос
'
'
    ChangeFileOpenDirectory "C:\Documents and Settings\Admin\Мои документы\2\"
    'ChDir ("C:\Documents and Settings\Admin\Мои документы\2\") - не работает
    
    'Dialogs(wdDialogFileSaveAs).Show - не работает
    Dialogs(wdDialogFileOpen).Show ' а здесь работает
 
End Sub

Проверку делал на двух похожих макросах с разными папками.

Автор: Akina 13.3.2015, 14:37
Ну ежели почитать справку, то там обнаружится следующее:
Цитата

ChangeFileOpenDirectory Method

Sets the folder in which Word searches for documents.

Как полагаешь, надо искать КАКОЙ-ТО документ, если ты собрался ТЕКУЩИЙ документ записать?

Автор: shurikv 13.3.2015, 23:38
Иными словами открыть диалоговое окно для открытия в нужной папке можно, а то же сделать для  записи нельзя. Может есть какой-то обходной путь, ведь офис запоминает последнюю папку, куда сохранялся документ. 

Автор: diadiavova 14.3.2015, 12:25
Если я правильно понял задачу...
Код

    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(msoFileDialogSaveAs)
    dlg.InitialFileName = "c:\windows\"
    dlg.Show

Автор: shurikv 15.3.2015, 11:13
Огромное спасибо! Работает!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)