VBAでエンディアン変換する方法 - シンプルで簡単な手順


  1. リトルエンディアンからビッグエンディアンへの変換: リトルエンディアン形式のデータをビッグエンディアン形式に変換するには、以下のコードを使用します。

    Function ConvertToBigEndian(value As Long) As Long
       Dim result As Long
       result = ((value And &HFF&) * &H1000000) + ((value And &HFF00&) * &H100) + ((value And &HFF0000&) \ &H100) + ((value And &HFF000000&) \ &H1000000)
       ConvertToBigEndian = result
    End Function

    このコードでは、ビットマスクとビットシフトを使用してデータのバイト順序を変更しています。

  2. ビッグエンディアンからリトルエンディアンへの変換: ビッグエンディアン形式のデータをリトルエンディアン形式に変換するには、以下のコードを使用します。

    Function ConvertToLittleEndian(value As Long) As Long
       Dim result As Long
       result = ((value And &HFF&) * &H1000000) + ((value And &HFF00&) * &H100) + ((value And &HFF0000&) \ &H100) + ((value And &HFF000000&) \ &H1000000)
       ConvertToLittleEndian = result
    End Function

    ビッグエンディアンからリトルエンディアンへの変換も、ビットマスクとビットシフトを使用して行います。