Excel VBA中的拆分函数返回奇数字符



我有一个包含丹麦字符的文本文件

"Næsby IF afdeling * Badminton * Sport *"

当分割并将它们放在一个数组中时,丹麦字符得到";搞砸了";

这是*.TXT文件中要在Excel列中拆分的完整文本字符串:

"Ulrich*wiingreen*BenPauWin05 Aps*Søballehøjen 12*5270*Odense N*+4530212215*ulrich@wiingreen.eu*Næsby IF afdeling*Badminton*Sport* *Hal 1*Hal 2*99*11/03/2022 13:00*11/03/2022 17:00*kkkk"

执行此操作的代码是:

If InStr(FileName, "forespoerg_") <> 0 Then
OrderArr = Split(OrderDetails, "*")
OrderRow = OrdersDB.Range("A99999").End(xlUp).Row + 1 

OrdersDB.Cells(OrderRow, 1).Value = Application.WorksheetFunction.Max(Range("A4:A9999")) + 1
OrdersDB.Cells(OrderRow, 2).Value = Date
For OrderCol = 3 To 20
OrdersDB.Cells(OrderRow, OrderCol).Value = OrderArr(OrderCol - 3)
Next OrderCol
End If

拆分效果很好。不幸的是,角色们搞砸了。示例:";Søballehøjen 12〃;进口为:;巴列12";

有人能给出一个提示来解决这个性格问题吗。

不确定,但我怀疑编码不匹配。您可以尝试使用VS Code打开文本文件,并在右下角查看其编码
如果someconversion是类似vbUnicodevbFromUnicode的值,则可以使用StrConv(yourTextVar, someconversion)(请参阅此处的选项(

如何导入文本文件?如果你的文件是unix或其他非Windows风格的,你可以尝试使用ADODB.Stream读取文件,它可以对编码进行精细控制。我很快在这里找到了一个样本。

最新更新