Страницы: 1
RSS
Эмулятор Гранд-сметы (новый Excel, новый файл, заданное имя)
 
Мяв!
Гранд смета при пакетной выгрузке файлов в Excel выгружает их каждый в своем экземпляре Excel в виде новой книги (путь и расширение отсутствуют).
При этом имена файлов имеют вид "очень длинное имя" (у каждого файла свое)
Наброски кода для обработки всего этого безобразия имеются.
Встал вопрос тестирования.
кодом
Код
Sub tt()
    Dim xl As New Excel.Application
    Set xl = CreateObject("Excel.Application")
    xl.Visible = True
    Set wb = xl.Workbooks.Add
    'wb.Name = "очень длинное имя"
End Sub

попытаться эмулировать выгрузку.
Не работает однако. Создает файлы "Книга1", а дальше затык.
Что делать несчастному коту?
 
Здравствуйте, Андрей! Свойство Workbook.Name нельзя присвоить.
Сохранить книгу во временном каталоге с нужным именем; изменить статус книги на ReadOnly (Workbook.ChangeFileAccess); удалить файл из временного каталога.

Или я что-то не так понимаю?
Изменено: sokol92 - 24.10.2019 17:21:15
Владимир
 
Цитата
RAN написал:
Что делать несчастному коту?
сохранятся, как правильно отметил sokol92,
По вопросам из тем форума, личку не читаю.
 
Вы не правильно понимает (мне так кажется).
Что с файлами делать дальше, я знаю, и, с вероятностью 90% могу.
Вопрос, где мне взять файлы для тестирования?

Мне нужны файлы с именами .Name = .FullName = "очень хорошее имя"
Изменено: RAN - 24.10.2019 18:17:13
 
тестирования чего?
(в чем суть тестирования)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Если важно получить имя книги без расширения, то можно так:

Код
Workbooks.Add "C:\Temp\Очень хорошее имя.xlsx"

где параметр - существующий файл,  который будет использован в качестве шаблона. В этом случае .Name=.FullName
Или открыть любой шаблон (.xlt*) в режиме ReadOnly.
Изменено: sokol92 - 24.10.2019 18:53:49
Владимир
 
Андрей если проблема в генерации имени, то через fso временных нагенерил и слепил для длинного имени. Или я тоже не понимаю что нужно?
По вопросам из тем форума, личку не читаю.
 
Цитата
sokol92 написал:
где параметр - существующий файл,  который будет использован в качестве шаблона.
Вот это именно то, что искал. Скорее всего, знал, но забыл.
Всем спасибо.
 
Цитата
RAN написал:
Скорее всего, знал, но забыл.
Трудно вспомнить, чего не знаешь.  :D  
Андрей, вот реально , sokol92 молодец что угдал, но я как ни пытаюсь связать решение с темой и вопросами , не получается.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Трудно вспомнить, чего не знаешь.
Ведмедь, будешь котов забижать, Коту Котофеевичу настучу.

По факту.
С учетом частоты востребованности, последний раз использовал
Код
Workbooks.Add "C:\Temp\Очень хорошее имя.xlsx"

??? лет тому как.
Цитата
sokol92 написал:
в режиме ReadOnly.
про это вообще не подумал
 
RAN, мнение от кореша-кота: я тут Гранд-Смету вообще не увидел и близко  :D
А то, что длинные пути можно так открывать, не знал  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
в самой программе "ГРАНД-Смета" нажми "Файл" - "Параметры" (или "Установки") и там есть поле, в котором написано: <Локальный номер сметы> - <Название выводимой формы>. Так ты оставь только первое выражение в ёлочках - и будет тебе счастье! :)  
Сметы сразу при выгрузке будут иметь нормальные названия.
Изменено: Сергей Федоров - 19.02.2022 01:30:54
Страницы: 1
Наверх