首页 文章

在Excel或VBA上保存为ISO / IEC 8859 csv文件

提问于
浏览
0

我正在使用Magmi进行文件导入/导出的Magento网站 . Magmi是一种使用ISO / IEC 8859(Latin-1)编码的软件 . 由于我的网站是法语,我需要将特殊字符编码为ISO / IEC 8859.例如:“à”变为“Ô,“À”变为“Ô,“è”变为“Ô,等等 .

我必须从我的.xlsm文件导出.csv文件,该文件运行VBA宏 . csv文件必须遵循此编码 .

到目前为止,我已经尝试为每个角色使用Replace 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

结束子

我也尝试过:文件>另存为> .csv>工具> Web选项> US ASCII但它似乎不起作用 .

有解决方案吗

提前致谢 .

1 回答

  • 0

    我知道它并没有完全解决问题,但VBA代码以这种方式更有效:

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

相关问题