Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранить файл без формул - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Сохранить файл без формул
111 Дата: Воскресенье, 26.03.2023, 14:35 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

2013
Здравствуйте!
Необходимо пересохранить Гугл таблицу с данными без сохранения формул, то есть сохранить только значения и формат ячеек.
Подскажите, пожалуйста, как быстро это сделать?
 
Ответить
СообщениеЗдравствуйте!
Необходимо пересохранить Гугл таблицу с данными без сохранения формул, то есть сохранить только значения и формат ячеек.
Подскажите, пожалуйста, как быстро это сделать?

Автор - 111
Дата добавления - 26.03.2023 в 14:35
Gustav Дата: Воскресенье, 26.03.2023, 23:04 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Здравствуйте. Можно копированием + специальной вставкой "только значений". Листов много в файле?

Если листов много, можно небольшой скрипт запустить, перебирающий все листы и проделывающий такое копирование и вставку на каждом листе:
[vba]
Код
function leaveValuesInsteadOfFormulas() {
    var ss = SpreadsheetApp.getActive();
    var shts = ss.getSheets();
    shts.forEach((v) => {
        Logger.log(v.getSheetName());
        var rng = v.getDataRange();
        rng.copyTo(rng, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    });
}
[/vba]


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Воскресенье, 26.03.2023, 23:09
 
Ответить
СообщениеЗдравствуйте. Можно копированием + специальной вставкой "только значений". Листов много в файле?

Если листов много, можно небольшой скрипт запустить, перебирающий все листы и проделывающий такое копирование и вставку на каждом листе:
[vba]
Код
function leaveValuesInsteadOfFormulas() {
    var ss = SpreadsheetApp.getActive();
    var shts = ss.getSheets();
    shts.forEach((v) => {
        Logger.log(v.getSheetName());
        var rng = v.getDataRange();
        rng.copyTo(rng, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    });
}
[/vba]

Автор - Gustav
Дата добавления - 26.03.2023 в 23:04
111 Дата: Среда, 29.03.2023, 20:57 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

2013
Спасибо, Gustav!
Листов много. А можете ли вы подправить скрипт, чтобы сначала создавалась копия файла, а уже затем в копии была вставка только значений?
 
Ответить
СообщениеСпасибо, Gustav!
Листов много. А можете ли вы подправить скрипт, чтобы сначала создавалась копия файла, а уже затем в копии была вставка только значений?

Автор - 111
Дата добавления - 29.03.2023 в 20:57
Gustav Дата: Среда, 29.03.2023, 23:04 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
подправить скрипт, чтобы сначала создавалась копия файла, а уже затем в копии

Да, конечно. Нужно немножко подшаманить в первых строчках предыдущего скрипта:
[vba]
Код
function leaveValuesInsteadOfFormulas2() {
    var ssActive = SpreadsheetApp.getActive();
    var ss = ssActive.copy("Копия БЕЗ ФОРМУЛ " + ssActive.getName());
    
    var shts = ss.getSheets();
    shts.forEach((v) => {
        Logger.log(v.getSheetName())
        var rng = v.getDataRange();
        rng.copyTo(rng, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    });
}
[/vba]

Единственное, что копия будет создана в корневой папке вашего Гугл-диска. Т.е. если исходный файл зарыт где-то в дереве ваших папок, то новая копия будет создана не в той же зарытой папке. И вот что я точно не буду делать, так это писать скрипт, который будет не только копировать, но и помещать копию в ТУ же папку, что и исходный. Это ручками, пожалуйста, ручками и мышкой! yes


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
подправить скрипт, чтобы сначала создавалась копия файла, а уже затем в копии

Да, конечно. Нужно немножко подшаманить в первых строчках предыдущего скрипта:
[vba]
Код
function leaveValuesInsteadOfFormulas2() {
    var ssActive = SpreadsheetApp.getActive();
    var ss = ssActive.copy("Копия БЕЗ ФОРМУЛ " + ssActive.getName());
    
    var shts = ss.getSheets();
    shts.forEach((v) => {
        Logger.log(v.getSheetName())
        var rng = v.getDataRange();
        rng.copyTo(rng, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    });
}
[/vba]

Единственное, что копия будет создана в корневой папке вашего Гугл-диска. Т.е. если исходный файл зарыт где-то в дереве ваших папок, то новая копия будет создана не в той же зарытой папке. И вот что я точно не буду делать, так это писать скрипт, который будет не только копировать, но и помещать копию в ТУ же папку, что и исходный. Это ручками, пожалуйста, ручками и мышкой! yes

Автор - Gustav
Дата добавления - 29.03.2023 в 23:04
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!