gpt4 book ai didi

excel - vba 代码中的希伯来语文本无法正确解码

转载 作者:行者123 更新时间:2023-12-02 04:26:48 25 4
gpt4 key购买 nike

我开发了一本工作簿,其中包含一些底层 vba 代码。该工作簿是希伯来语,vba 代码也使用希伯来语,例如比较希伯来语字符串,或使用希伯来语名称访问表格。我在 Excel 2010 中开发了此工作簿,并将其保存为 xlsm 文件(启用宏)。它在各种机器和 Excel 版本上都运行得很好,除了在安装了 Excel 2007 的特定 PC 上。问题似乎是我在 vba 代码中使用的希伯来字符串没有正确解码,并且被视为乱码。工作簿本身中的希伯来语文本(即单元格或工作表名称)非常好,只有我在 VBA 代码本身中使用的文本似乎无法正确读取。我想做的是在工作簿打开后自动正确设置编码/解码,以便它可以在任何计算机上使用任何 Excel 版本。

阅读更多内容后 herehere我意识到当系统区域设置不是希伯来语时会发生这种情况。我可以使用 vba 代码仅在 Excel 中动态设置它(即不在操作系统级别更改它),以便我编写的希伯来语文本可以工作吗?否则,我需要从 vba 代码中删除所有希伯来语文本。

最佳答案

使用ADODB Stream中的以下函数(您需要引用最新的Microsoft ActiveX数据对象库)

Public Function CorrectHebrew(gibberish As String) As String

Dim inStream As ADODB.stream

Set inStream = New ADODB.stream
inStream.Open
inStream.Charset = "WIndows-1255"
inStream.WriteText gibberish
inStream.Position = 0
inStream.Charset = "UTF-8"
CorrectHebrew = inStream.ReadText
inStream.Close
End Function

关于excel - vba 代码中的希伯来语文本无法正确解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21270164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com