我使用openoffice calc宏写入文本文件,将十六进制转换为十进制,然后在结果上使用char函数。当我在openoffice中使用函数转换时看到以下内容 - 以十六进制转换'88'。它在forumula结果中正确显示。
但是如果我们在运行下面的宏之后打开文本文件,这会做同样的事情,'?'被展示。我该如何纠正这个并获得文本文件中打印的确切值?
Sub Sheet2
Dim AsciiString As String
Dim t As String
Dim DataArray As Variant
intFH = FreeFile()
Open "e:\Temp.txt" For Output As intFH
t= "&H" & "88"
AsciiString = AsciiString & chr(cdec(t))
Print #intFH, AsciiString
close #intFH
End Sub
答案 0 :(得分:0)
您是否需要Openoffice的解决方案(根据您的问题的文本和标签)或Excel(根据函数和vba代码)?
关于OpenOffice / LibreOffice:您的宏只需稍作修改即可:
t
的类型更改为Long
和cdec()
函数调用 - 在OpenOffice Calc中没有这样的函数,它显然是来自Excel VBA宏的人工制品。现在,如果您对5E
使用ASCII代码(十六进制94
/十进制^
),它会将^
写入文件:
Sub Sheet2
Dim AsciiString As String
Dim t As Long
intFH = FreeFile()
Open "/tmp/Temp.txt" For Output As intFH
t= "&H" & "5E"
AsciiString = chr(t)
Print #intFH, AsciiString
close #intFH
End Sub