Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переименовать 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]

Если нет на диске, то нет и файла.
А раз нет файла, то и переименовывать нечего.
А если переименовывать нечего, то не ломай себе голову.


Наверх

Титульная страница Поиск, карта сайта Написать письмо