Common Dialog и Excel
Пишу макрос в Excel, который берет данные с листа и на их основании создает файл (по сути текстовый, но со своим расширением) и вот загвоздка в том, что в начале пользователь в должен выбрать под каким файлом сохранить все это дело.
И вот тут такая неприятность, никак не могу подобрать диалоговое окно (по типу SaveAS), чтобы его использовать в макросе в Excel.
1. Стандартный диалог Application.SaveAS - не подходит, потому как он сам файл начинает сохранять, а мне нужен только путь.
2. Есть в XP Office и такая возможность, объект - Application.FileDialog(msoFileDialogSaveAs), все хорошо, только один диалог, путь возращает, настраиватся, но в фильтр отображаемых файлов, именно для SaveAS, фиксирован, там только стандартные офисные типы файлов - А я хочу все убрать и только свой оставить, *.mac .
3. Пытаюсь найти еще какой-нибудь объект диалог, чтобы можно использовать на компе, где стоит только Office. Остается вроде бы только Common Dialog (уж он никуда не денется из системы). Но тогда другая проблема - в VBE (в отличии от VBA 6) его не видно и ни как туда добавить его я не могу, ни через Preferens, ни через Add controls (мож файлов каких нет для VBE). Хотя в инеты полно примеров когда в VBE через него шарашат.
Вообщем подскажите советом как простое диалоговое окно SaveAS в VBE Excel получить, неужели придется саму окно диалога делать... :-(
P.S. Мож ActiveX-компонент какой-нибудь откопать и поставить, тока где ж такой найдешь..
Dim t As String
t = Application.GetSaveAsFilename(InitialFilename:="myfile", FileFilter:="Mac Files (*.mac), *.mac")
MsgBox t
End Sub
Уже полгода использую GetOpenFilename(для макросов импорта не xls-файлов) и так меня заклинило, что на GetSaveAsFilename и внимания не обратил....
Спасибо за помощь.. :)
P.S. Главное, чтобы тебя кто-нибудь перегрузил, когда ты завис.....
У меня VB ругается и на Application.GetSaveAsFilename и на Application.SaveAS
Что я делаю не так или что нужно добавить в reference?
Ребят, извините новичка, но сам не могу разобраться.
У меня VB ругается и на Application.GetSaveAsFilename и на Application.SaveAS
Что я делаю не так или что нужно добавить в reference?
Ну во-первых, метод .SaveAs применяется к объекту типа Workbook (или Document, если ты в Ворде программишь), а не к Application
Почему ругается GetSaveAsFilename? Скорее всего, ты что-то напутал с аргументами. Какой строкой ты его вызываешь?
И вообще, ты имеешь в виду Эксель или что-то еще?
Хочу спросить совета вот по какому вопросу.
Пишу макрос в Excel, который берет данные с листа и на их основании создает файл (по сути текстовый, но со своим расширением) и вот загвоздка в том, что в начале пользователь в должен выбрать под каким файлом сохранить все это дело.
И вот тут такая неприятность, никак не могу подобрать диалоговое окно (по типу SaveAS), чтобы его использовать в макросе в Excel.
1. Стандартный диалог Application.SaveAS - не подходит, потому как он сам файл начинает сохранять, а мне нужен только путь.
2. Есть в XP Office и такая возможность, объект - Application.FileDialog(msoFileDialogSaveAs), все хорошо, только один диалог, путь возращает, настраиватся, но в фильтр отображаемых файлов, именно для SaveAS, фиксирован, там только стандартные офисные типы файлов - А я хочу все убрать и только свой оставить, *.mac .
3. Пытаюсь найти еще какой-нибудь объект диалог, чтобы можно использовать на компе, где стоит только Office. Остается вроде бы только Common Dialog (уж он никуда не денется из системы). Но тогда другая проблема - в VBE (в отличии от VBA 6) его не видно и ни как туда добавить его я не могу, ни через Preferens, ни через Add controls (мож файлов каких нет для VBE). Хотя в инеты полно примеров когда в VBE через него шарашат.
Вообщем подскажите советом как простое диалоговое окно SaveAS в VBE Excel получить, неужели придется саму окно диалога делать... :-(
P.S. Мож ActiveX-компонент какой-нибудь откопать и поставить, тока где ж такой найдешь..
esli ya teba pravilno ponal to vozmozno ya smogu tebe pomoch vislav modul po rabote so standartnimi dialogami windows pishi mne na [email]uoforever@hotbox.ru[/email]
esli ya teba pravilno ponal to vozmozno ya smogu tebe pomoch vislav modul po rabote so standartnimi dialogami windows pishi mne na [email]uoforever@hotbox.ru[/email]
Спасибо за помощь :), но эта старая тема, по ней я уже получал ответ от Cutty : GetSaveAsFilename - этого мне было вполне достаточно.
Просто эта тема периодически поднимается в форуме, а вариантов вызовов ст. диалого в Office 3-4, и чтобы долго все не перечислять видно решили объединить... :)