Имя: Пароль:
IT
 
VBA Excel: как перезаписать/перевыбрать имя файла для сохранения книги
0 dk
 
24.11.11
14:55
Трудно сформульровать правильное название темы )
Что делаем:
1. Формируем отчет / таблицу в 1с 7.7
2. Программно сохраняем сформированную таблицу в каталог временных файлов
3. Открываем по OLE новый файл в Excel на осанове файла из каталога временных файлов

Книга = Эксель.WorkBooks.Add(ИмяФайлаИПуть);

4. Удаляем временный файл (не критично - просто мусор прибираем)
5. Дорисовываем формулы
6. Открываем пользователю Excel с данными и формулами
----
Проблема:
Excel запоминает имя файла шаблона и новый файл при сохранении пишет туда же. Как очистить имя файла для сохранения чтобв пользователь сам выбрал новое имя?
----
Ну или более простое решение есть?
ЗЫ Кроме запрашивания имени файла
1 filh
 
24.11.11
14:57
SaveAs?
2 filh
 
24.11.11
14:59
3 dk
 
24.11.11
14:59
нееее, пользователь может же передумать сохранять файл
4 FN
 
24.11.11
15:06
5.а Сохраняем файл как шаблон xlt
6. Открываем шаблон
7. Удаляем временный файл (не критично - просто мусор прибираем)

Не?
5 FN
 
24.11.11
15:08
(4) А нет - такая же ф-ня получается. ЗЫ а с вордом работает нормально
6 dk
 
24.11.11
15:15
вверх
7 filh
 
24.11.11
15:17
(3) удалить потом, не?
8 dk
 
24.11.11
15:19
(7) тогда надо ловить событие по закрытию книги в Excel - неее, хотся простого решения
9 dk
 
24.11.11
15:27
попробуем с другой стороны
а программно можно открыть диалоговое окно у пользователя которое SaveAs?
----
типа если сразу не сохранил в нужное место, то это его проблемы
10 filh
 
24.11.11
15:30
покажи эксель и алерты включи и закрой книгу, сама спросит
11 dk
 
24.11.11
15:35
(10) верно, только предлагает просто сохранить файл (во временном каталоге) а не выбрать путь для сохранения
12 filh
 
24.11.11
15:40
(11) попробуй макрос использовать:
Sub Macro1()
   Dim fileSaveName
   Do
       fileSaveName = Application.GetSaveAsFilename( _
           fileFilter:="Text Files (*.txt), *.txt")
   Loop While fileSaveName = False
End Sub
13 dk
 
24.11.11
15:54
спб, подумаю, но с макросами тож не хочу заморачиваться