Как стать автором
Обновить

Комментарии 12

Предложу разделить читающую часть и записывающую на разные процедуры. Тогда адаптация скрипта к новому файлу будет состоять из редактирования только читающей процедуры.

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

Да, спасибо, скрипт конечно можно усовершенствовать, но он станет сложней. Я стремился сделать самый простой скрипт, который может использовать любой пользователь excel. Мне кажется, в таком виде он наиболее понятен, а если что не так - любой пользователь сможет его скорректировать.

Тут я считаю играет связка excel - скрипт. Сначала подготавливаем данные в том виде, который нужно, средствами excel, затем делаем файл .vcf с помощью наиболее простого скрипта.

И с очисткой данных тут тоже стоит поработать. Формат записи явно использует двоеточие и точку с запятой как разделители и, если встретит их внутри данных (например, в адресе), то врятли выйдет корректный файл на выходе.
Вероятно, их как-то можно экранировать или хотя бы заменять на неопасные символы.

Очистку данных я предлагаю делать в excel самостоятельно - там достаточно богатый инструментарий, который может использовать любой офисный работник.

Если честно, не очень понятно зачем?

Поясню. У вас уже есть excel-файл с контактами. Гугл, с радостью импортирует к себе csv файл с контактами и при очередной синхронизации доставит контакты в телефон. Без лишних скриптов.

Я конечно пробовал. ) Импортирует не корректно. Пришлось разбираться с структуре файла .vcf и писать скрипт.

Всё там отлично. А если непонятна структура csv, нужно просто экспортировать текущие контакты там же и посмотреть, как должен выглядеть файл. Работает отлично, проверено не однократно.

Но у меня не получилось... Часть данных терялось, часть искажалась.

Я импортировал контакты выгруженные из какой-то утилиты для Блекберри... Это не то же самое, что перекидывать контакты из старого телефона с Андроидом на новый Айфон. Проблемы были... И проблемы такие встречаются у людей - им поможет подобный скрипт (я надеюсь )))

Есть значительно более простой путь:

  1. Сохраняете свою эксель-табличку как CSV

  2. Открываете сайт contacts.google.com

  3. Через пункт меню "Импортировать" импортируете ваш CSV

  4. Profit

У меня импортировалось некорректно, пока я лично не сделал скрипт (разобравшись при этом в структуре файла .vcf) как я описал в статье.

Ясное дело, что я пробовал очевидные способы и потерпел крах )))

Зачем бы я начал писать свой скрипт, если бы работал импорт контактов. )

Надо понимать, что гугл импортирует табличку определённой структуры. Если к примеру попробовать вставить в него табличку в том виде, в котором я её в статье привёл в качестве примера, он половину информации игнорирует, часть сохраняет некорректно и тп.

Не готов ставить диагноз именно вашей табличке (возможно ему пробелы в названиях столбцов не нравится или ещё что), но я неоднократно использовал этот способ и все нормально импортировалось.

Флэшбеки из прошлого ) Я такое писал на Delphi 20 лет назад.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории