Excel-CSVD: открытие файлов csv/txt без преобразований дат

Известная проблема Excel — при открытии любых файлов включается автоматическое преобразование данных в даты. Причем отключить эту опцию в самом Excel никак нельзя (ссылка).

Скрипт позволяет работать с файлом csv и txt, как обычно, в Excel без всяких извращений типа апострофы перед данными, пробелы/знак ‘=’ и другие супер-мега символы для изменения поведения Excel. Просто открываем скриптом нужный файл, открывается стандартный Excel, дальше каждый работает как бог дал умеет.

Запуск

Запустить можно классическим способом как обычную программу или скрипт с параметром, например, через консоль cmd и либо перетаскиванием файла на скрипт

cmd_run_script_excel_csvd

Я лично рекомендую привязать выполнение скрипта к формату файла CSV или CSVD

Привязка формата CSV/CSVD к скрипту Excel-CSVD

Самый просто способ привязки приложения в Windows — это вызвать правой кнопкой мышки контекстное меню файла из проводника и выполнить следующее

contex_menu_open_with_app

Выбрать пункт меню Открыть с помощью (1) — Выбрать приложение (2) — Нажать на кнопку Обзор — Указать путь до скрипта exe. После этого появится дополнительное меню с вызовов этого скрипта, как показано стрелочкой на картинке выше.

Для файла формата CSVD можно отметить галочку «Использовать выбранную программу для всех файлов такого типа».

make_default_app

Лучше всего положить скрипт в папку типа C:\Soft.

Не рекомендую закидывать в папки c:\Program Files или c:\Program Files (x86), так как Windows требует повышенных прав для этих папок, также не советую держать на рабочем столе Windows.

Ограничения

  1. Скрипт специально работает только с форматами csvd и txt. Формат csvd — это обычный файл формата csv с добавленной буквой D.
    Почему я рекомендую изменять формат на csvd? Для того, чтобы Excel, запущенный обычным способом, не дал пользователю сломать файл при сохранении. Пользователь может открыть файл обычным щелчком и сохранить его, навсегда изменив данные на даты и всякую ерунду. Для формата csvd делается привязывание к скрипту, и пользователь при щелчке на файл всегда открывает правильный Excel. Cохранение не убивает формат колонок. При ооооочень! большом желании можно работать со скриптом в формате csv, но предупреждаю, сломанные и неправильно сохраненные Excel’ем данные будут постоянно появляться, так как кто-то точно забудет и откроет обычным Excel. Проверено 🙂
  2. При открытии все колонки будут текстовые. Отсюда следует, что цифры будут сортироваться как попало, формулы работать через знак = не будут, пока через свойство колонки не будет изменен тип с Текст на Общий или Формула.
  3. Скрипт работает через com Excel.Application, c Excel заменителями работать не будет, если они только не поддерживают модель объектов Excel.
  4. По умолчанию используется разделитель «запятая». Если надо другой символ, то надо поменять в скрипте vbs (что поменять)
  5. В скрипте нет защиты от использования в названии колонок разделителя запятой. При желании это можно уже доработать самому.

Сборка скрипта VBS в exe

Любой скрипт vbs можно собрать в формат exe с помощью программы Vbsedit (ссылка). Это необязательно для работы, можно юзать и в формате vbs. Кому как удобнее!

Версии

1.2: исправлено с автоматического определения Excel формата разделитель или фиксированная ширина на разделитель

1.0: init

Скачать

формат exe (link)
sha256 e112fb54588fc29bafa383c5431d666eb875bff383dcfd7cdcddd35763c51abe

формат vbs (link)

формат exe без привязки к формату .csvd (link)
sha256 7d8405b2f88253a7a9f6ce3324c9e6224db8b356810ebfa7a673db4b48ee167d

формат vbs без привязки к формату .csvd (link)

Поделиться с друзьями
В коробке инженера
Добавить комментарий

Нажимая на кнопку "Добавить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности