Комментарии 12
Предложу разделить читающую часть и записывающую на разные процедуры. Тогда адаптация скрипта к новому файлу будет состоять из редактирования только читающей процедуры.
Если двигаться дальше, то из читающей части я бы вынес информацию о расположении колонок в "настройки", а из пишущей части - путь к папке сохранения в них же. Тогда при адаптации можно ограничиться лишь исправлением этих настроек, не трогая основной код.
Да, спасибо, скрипт конечно можно усовершенствовать, но он станет сложней. Я стремился сделать самый простой скрипт, который может использовать любой пользователь excel. Мне кажется, в таком виде он наиболее понятен, а если что не так - любой пользователь сможет его скорректировать.
Тут я считаю играет связка excel - скрипт. Сначала подготавливаем данные в том виде, который нужно, средствами excel, затем делаем файл .vcf с помощью наиболее простого скрипта.
И с очисткой данных тут тоже стоит поработать. Формат записи явно использует двоеточие и точку с запятой как разделители и, если встретит их внутри данных (например, в адресе), то врятли выйдет корректный файл на выходе.
Вероятно, их как-то можно экранировать или хотя бы заменять на неопасные символы.
Если честно, не очень понятно зачем?
Поясню. У вас уже есть excel-файл с контактами. Гугл, с радостью импортирует к себе csv файл с контактами и при очередной синхронизации доставит контакты в телефон. Без лишних скриптов.
Я конечно пробовал. ) Импортирует не корректно. Пришлось разбираться с структуре файла .vcf и писать скрипт.
Всё там отлично. А если непонятна структура csv, нужно просто экспортировать текущие контакты там же и посмотреть, как должен выглядеть файл. Работает отлично, проверено не однократно.
Но у меня не получилось... Часть данных терялось, часть искажалась.
Я импортировал контакты выгруженные из какой-то утилиты для Блекберри... Это не то же самое, что перекидывать контакты из старого телефона с Андроидом на новый Айфон. Проблемы были... И проблемы такие встречаются у людей - им поможет подобный скрипт (я надеюсь )))
Есть значительно более простой путь:
Сохраняете свою эксель-табличку как CSV
Открываете сайт contacts.google.com
Через пункт меню "Импортировать" импортируете ваш CSV
Profit
У меня импортировалось некорректно, пока я лично не сделал скрипт (разобравшись при этом в структуре файла .vcf
) как я описал в статье.
Ясное дело, что я пробовал очевидные способы и потерпел крах )))
Зачем бы я начал писать свой скрипт, если бы работал импорт контактов. )
Надо понимать, что гугл импортирует табличку определённой структуры. Если к примеру попробовать вставить в него табличку в том виде, в котором я её в статье привёл в качестве примера, он половину информации игнорирует, часть сохраняет некорректно и тп.
Флэшбеки из прошлого ) Я такое писал на Delphi 20 лет назад.
Простой VBA скрипт для преобразования таблицы excel телефонной базы контактов в файл .vcf