2016-06-27 10 views
0

Я работаю на веб-сайте Magento, который использует Magmi для импорта/экспорта файлов. Magmi - это программное обеспечение, использующее кодировку ISO/IEC 8859 (Latin-1). Поскольку мой сайт на французском языке, мне нужны специальные символы, которые должны быть закодированы как ISO/IEC 8859. Например: «à» становится «Ã», «À» становится «Ã €», «è» становится «¨» ", и т. Д.Сохранение как CSV-файл ISO/IEC 8859 в Excel или VBA

Мне нужно экспортировать CSV-файл из моего .xlsm-файла, который запускает макросы VBA. Файл csv должен следовать этой кодировке.

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

Sub replaceFrenchCharacters() 
For Each cell In ActiveSheet.UsedRange.Cells 
    cell.Value = Replace(cell.Value, "à", "Ã") 
    cell.Value = Replace(cell.Value, "À", "À") 
    cell.Value = Replace(cell.Value, "è", "è") 
    cell.Value = Replace(cell.Value, "È", "È") 
    cell.Value = Replace(cell.Value, "ù", "ù") 
    cell.Value = Replace(cell.Value, "Ù", "Ù") 
    cell.Value = Replace(cell.Value, "â", "â") 
    cell.Value = Replace(cell.Value, "Â", "Â") 
    cell.Value = Replace(cell.Value, "ê", "ê") 
    cell.Value = Replace(cell.Value, "Ê", "Ê") 
    cell.Value = Replace(cell.Value, "î", "î") 
    cell.Value = Replace(cell.Value, "Î", "ÃŽ") 
    cell.Value = Replace(cell.Value, "ô", "ô") 
    cell.Value = Replace(cell.Value, "û", "û") 
    cell.Value = Replace(cell.Value, "Û", "Û") 
    cell.Value = Replace(cell.Value, "é", "é") 
    cell.Value = Replace(cell.Value, "É", "É") 
Next 

End Sub

Я также пробовал: File> Save As> .csv> Инструменты> Web Options> США ASCII, но это не похоже на работу.

Любые решения?

Заранее спасибо.

+0

Пожалуйста, поделитесь кодом, который вы пробовали. – omegastripes

+0

Я обновил исходный вопрос :) – clementgamache

ответ

0

Я знаю, что это не решает полностью проблемы, но код VBA является более эффективным, таким образом:

cell.Value = _ 
    Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(_ 
    Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(_ 
    cell.Value, _ 
    "à", "Ã"), "À", "À"), "è", "è"), "È", "È"), "ù", "ù"), "Ù", "Ù"), _ 
    "â", "â"), "Â", "Â"), "ê", "ê"), "Ê", "Ê"), "î", "î"), "Î", "ÃŽ"), _ 
    "ô", "ô"), "û", "û"), "Û", "Û"), "é", "é"), "É", "É") 

 Смежные вопросы

  • Нет связанных вопросов^_^