Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将西里尔字符读取到VBA变量_String_Vba_Encoding_Cyrillic - Fatal编程技术网

String 将西里尔字符读取到VBA变量

String 将西里尔字符读取到VBA变量,string,vba,encoding,cyrillic,String,Vba,Encoding,Cyrillic,我想从包含俄文字符的Excel单元格中读取VBA字符串变量或变量(用于矩阵)的值。假设在A1单元格中有俄文字符(正确显示) 当我把它读作MyString=Range(“A1”).Value时,变量MyString读作???????????????????????????150???50 同样,该测试失败: ? Activecell.Value 当我使用此代码将字符串转储到文件时: Dim myFile As String Dim N As Integer N = FreeFile() myFi

我想从包含俄文字符的Excel单元格中读取VBA字符串变量或变量(用于矩阵)的值。假设在
A1
单元格中有俄文字符(正确显示)

当我把它读作
MyString=Range(“A1”).Value
时,变量
MyString
读作
???????????????????????????150???50

同样,该测试失败:

? Activecell.Value
当我使用此代码将字符串转储到文件时:

Dim myFile As String
Dim N As Integer
N = FreeFile()
myFile = "C:\MyFileName.txt"
Open myFile For Output As #N
Print #N, SQL
Close #N
Debug.Print myFile

我发现VBA控制台不支持输出Unicode字符。这并不意味着它们已经坏了。将它们输出到另一个单元格-它应该按预期工作。@Tomalak到另一个单元格可能是。但我必须将它们保存在变量中,然后保存在字符串变量中。当我用ADO将这样一个字符串变量发送到服务器或将它(
Print#N,MyString
)转储到文本文件时,我有
??
。如何将它们转储到文件中?使用TextStream对象保存文件。它有一个Unicode选项。请参见转到您的区域设置
控制面板->时钟、语言和区域->区域和语言
,选择
管理
选项卡,在非Unicode程序的
语言中单击
更改系统区域设置
。将其更改为您正在使用的任何语言(英语除外),然后重新启动您的电脑(必需!)。这是为了在ASCII表中提供代码>=128的正确字符(在Unicode之前的时代,语言就是这样设置的)。你应该把它修好。