-1

16 進数を 10 進数に変換した後、openoffice calc マクロを使用してテキスト ファイルに書き込み、結果に対して char 関数を使用しています。関数を使用してopenofficeで変換するときは、以下を参照してください-「88」を16進数に変換します。フォーラムの結果に正しく表示されます。

チャー

ただし、以下のマクロを実行した後にテキスト ファイルを開くと、同じことを行います。表示されています。これを修正して、正確な値をテキスト ファイルに出力するにはどうすればよいですか?

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
4

1 に答える 1

0

Openoffice (質問のテキストとタグによる) または Excel (関数と vba コードによる) のソリューションが必要ですか?

OpenOffice/LibreOffice について: マクロは 2 つのわずかな変更で動作します。

  • Variable のタイプを に変更するだけtLong
  • 関数呼び出しを削除しcdec()ます。OpenOffice Calc にはそのような関数はありません。これは明らかに Excel VBA マクロのアーティファクトです。

ここで、ASCII コード (16 進数5E/10 進数)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
于 2012-05-26T10:50:05.627 に答える