- バイト配列を使用する方法:
Sub SwapByteOrder()
Dim data() As Byte
Dim temp As Byte
Dim i As Long
' 入れ替えるデータをバイト配列に格納する
data = Range("A1").Value
' バイト配列の要素を入れ替える
For i = LBound(data) To UBound(data) Step 2
temp = data(i)
data(i) = data(i + 1)
data(i + 1) = temp
Next i
' 入れ替えたデータをセルに書き込む
Range("B1").Value = data
End Sub
このコードでは、指定した範囲のデータをバイト配列として読み込み、要素ごとに入れ替えてから結果をセルに書き込んでいます。
- バイトオーダーマークを使用する方法:
Sub SwapByteOrder()
Dim data As Variant
' 入れ替えるデータを変数に格納する
data = Range("A1").Value
' バイトオーダーマークを使用してバイト順序を入れ替える
If StrConv(Environ("SystemLocale"), vbUnicode) = "UTF-16LE" Then
data = StrConv(data, vbFromUnicode)
ElseIf StrConv(Environ("SystemLocale"), vbUnicode) = "UTF-16BE" Then
data = StrConv(data, vbToUnicode)
End If
' 入れ替えたデータをセルに書き込む
Range("B1").Value = data
End Sub
このコードでは、システムのロケールに基づいてバイトオーダーマークを使用してバイト順序を入れ替えています。
これらのコード例を使ってバイト順序を入れ替えることができます。ご自身の要件に応じて適切な方法を選択してください。