VBからnkf32.dllを呼ぶと、何故かEuc -> Sjis変換が出来ない。jis sjisはうまくいくんだけどなぁ。で、しょうがないので、変換テーブルを見つけてきて、シコシコ書いた。なんだ、簡単ぢゃん(笑)。でも、Macで書いたからWinで動くかどうか良く分からないんだけどね。なんせ、Win版は自動Unicode変換するからなぁ…眠い。
Public Function eucTosjis(unsignedChar() As Byte) As String
Dim SrcStr() As Byte
Dim c1 As Byte, c2 As Byte
Dim i As Double
ReDim SrcStr(UBound(unsignedChar))
For i = 0 To UBound(unsignedChar) - 1
c1 = unsignedChar(i)
c2 = unsignedChar(i + 1)
If c1 > 160 Then
If c1 Mod 2 = 0 Then
c2 = c2 - 2
Else
c2 = c2 - 97
If c2 > 126 Then
c2 = c2 + 1
End If
End If
If c1 < 223 Then
c1 = Int((c1 + 1) / 2) + 48
Else
c1 = Int((c1 + 1) / 2) + 112
End If
SrcStr(i) = c1
SrcStr(i + 1) = c2
i = i + 1
Else
SrcStr(i) = c1
End If
Next i
eucTosjis = SrcStr
End Function