![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переименовать xls-файл, не сохраняя его на диске [D6]
Ольга © (2005-12-13 08:47:00)Excel по умолчанию задает имя "Книга1". Как его поменять изначально до сохранения (пользователь, возможно, не будет сохранять файл), чтобы не замусоривать машину?
Я умею только с сохранением:
Excel:= CreateOleObject('Excel.Application');
Excel.WorkBooks.Add;
Excel.ActiveWorkBook.SaveAs('NewName.xls');
umbra (2005-12-13 11:38:00) [1]2 msguns © (13.12.05 11:33) [12]
в каких, если не секрет?
msguns (2005-12-13 11:33:00) [2]>umbra © (13.12.05 11:22) [11]
>Тогда новые книги будут называться template1, template2 и т.д.
В некоторых офисах будут траблы.
umbra (2005-12-13 11:22:00) [3]2 Ольга (13.12.05 10:43) [8]
для того, чтобы книга создавалась с другим именем надо сначала создать файл-шаблон, а затем добавлять новые книги, используя его как шаблон, т.е.
Excel.WorkBooks.Add('c:\template.xls');
Тогда новые книги будут называться template1, template2 и т.д.
msguns (2005-12-13 11:13:00) [4]Запускаем эксель.
Сервис->Макрос->Начать запись
Файл->Сохранить как->выбираем каталог и набираем вместо "Книга1" свое имя
Сервис->Макрос->Остановить
Сервис->Макрос->Макросы->выбираем из списка новый макрос->Войти
Видим примерно такое:
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 13.12.2005 (ms)
'
'
ChDir "E:\MySampls\MDI_1"
ActiveWorkbook.SaveAs Filename:="E:\MySampls\MDI_1\NewBook.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub
Дальше Copy+Paste
evvcom (2005-12-13 10:52:00) [5]
> а корректировать его, видимо, нельзя.
"Видимо" или нельзя? Что пишет? Точный текст.
Ольга (2005-12-13 10:43:00) [6]
> Книга1 сидит в Excel.Workbooks(1).Name
Считать это свойство удалось (только скобки нужны квадратные), а корректировать его, видимо, нельзя.
Есть, например, свойство, определяющее кол-во листов в новой книге:
Excel.SheetsInNewWorkBook:=1;
Может есть что-нибудь, типа:
Excel.NewWorkBookName:='NewName.xls' ?
evvcom (2005-12-13 10:12:00) [7]
> Не поняла. Это что - прикол такой?
Нет не прикол. Это запись макроса. Но вроде не поможет это.
umbra (2005-12-13 10:11:00) [8]Книга1 сидит в
Excel.Workbooks(1).Name
Ольга (2005-12-13 10:09:00) [9]
> Сидит. Открой VB и пошарь по свойствам книги/документа.
Не нашла. Рабочая директория - есть, шаблон - есть, а имени файла - нет.
> А запустить "магнитофон" не судьба ?
Не поняла. Это что - прикол такой?
msguns (2005-12-13 09:59:00) [10]А запустить "магнитофон" не судьба ?
evvcom (2005-12-13 09:29:00) [11]
> Где-то же сидит в Excel эта "Книга1"?
Сидит. Открой VB и пошарь по свойствам книги/документа.
Ольга (2005-12-13 09:27:00) [12]Имя файла, если его пользователь сохраняет, должно иметь определенную структуру: OBJECT_YYYYMMDD.xls Сейчас это имя пользователь набивает ручками, что не есть хорошо. Сразу сохранять тоже плохо - файлов может быть сотни, нужных - десяток.
Где-то же сидит в Excel эта "Книга1"?
Anatoly Podgoretsky (2005-12-13 08:49:00) [13]Если нет на диске, то нет и файла.
А раз нет файла, то и переименовывать нечего.
А если переименовывать нечего, то не ломай себе голову.