Страницы: 1
RSS
Ошибка в макросе импорта в vcf файл
 
Тема импорт в vcf файл. Привет, подскажите есть вот такой код создает vcf файл из таблице, раньше в office 2007 работало все ок, переустановили мне на 2016 и где выделено красным выдает ошибку. Подскажите что не так
Код
Private Sub Create_VCF()
    'Open a File in Specific Path in Output or Append mode
    Dim FileNum As Integer
    Dim iRow As Double
    iRow = 2
    FileNum = FreeFile
    OutFilePath = "D:\OutputVCF.VCF"
    Open OutFilePath For Output As FileNum
 
    'Loop through Excel Sheet each row and write it to VCF File
    While VBA.Trim(Sheets("Sheet1").Cells(iRow, 1)) <> ""
        LName = VBA.Trim(Sheets("Sheet1").Cells(iRow, 1))
        FName = VBA.Trim(Sheets("Sheet1").Cells(iRow, 2))
        PhNum = VBA.Trim(Sheets("Sheet1").Cells(iRow, 3))
 
        Print #FileNum, "BEGIN:VCARD"
        Print #FileNum, "VERSION:3.0"
        Print #FileNum, "N:" & LName & ";" & FName & ";;;"
        Print #FileNum, "FN:" & LName & " " & FName
        Print #FileNum, "TEL;TYPE=CELL;TYPE=PREF:" & PhNum
        Print #FileNum, "END:VCARD"
        iRow = iRow + 1
    Wend
 
    'Close The File
    Close #FileNum
    MsgBox "Contacts Converted to Saved To: " & OutFilePath & " 
End Sub
Изменено: mcintosh55 - 28.11.2018 18:29:00
 
Плюс пример файла, при обработке которого возникает ошибка.
Владимир
 
Переименуйте лист Лист1->Sheet1 (как в макросе).
Владимир
 
В вашем файле, листы, названные по-русски ("Лист1" ...), а в коде vba на английском языке ("Sheet1" ...) ... как это всё должно работать ?

пс: и ещё "крестик" в "FileNum" - "Open OutFilePath For Output As #FileNum" ... :)
Изменено: ocet p - 28.11.2018 18:29:08
 
Добрый день, подскажите пожалуйста, сделал в VBA с помощью кода, ктр в начале темы, получился VCF файл, импортировал в контакты, но имена контактов выглядят так
 
Текст макроса #1 выводит файл в кодировке win-1251 (точнее, в кодировке Windows по умолчанию). Программы импорта в других операционных системах ожидают кодировку utf-8.
Изменено: sokol92 - 13.02.2019 14:20:42
Владимир
 
Спасибо Вам большое
 
Успехов!
Владимир
 

Привет! Нашел аналогичный макрос по этой теме, но более продвинутый... поэтому, УВЫ, есть ошибки в синтаксисе VBA, которых не понимаю.  :cry:

Может эксперты помогут поправить косяки?

Файл с макросом прилагаю.

 
Может и помогут
 
Уважаемый doober, спасибо за Ваш труд! Макрос выполняется как надо, но остался один забавный баг :D
Обратите внимание на то, что отображается в ячейке E5, после выполнения макроса.
Изменено: Derelictus - 25.12.2019 13:43:45
 
Это не баг, а команда, прописанная в коде. Вероятно, для того, чтобы вы знали, что этот файл уже сохранен в VCF, и где этот VCF искать.
А чтобы не стыдно было делиться, нужно устранить это
' The result file must be in UTF-8 encoding without BOM.
Изменено: RAN - 23.12.2019 21:07:27
 
Ещё раз благодарю всех за помощь! Теперь конвертер работает корректно! Делюсь им тут, вдруг кому пригодится.

#Excel_to_VCF_converter
Изменено: Derelictus - 25.12.2019 13:47:19 (все проблемы с файлом решены)
 
Цитата
написал:
#Excel_to_VCF_converter
Приветствую
прошу подсказать, как файл сохранить в UTF-8
Страницы: 1
Наверх