в 98 и старше будет работать
Function convertFromOEM(tString As String) As String
Dim retStr As String
retStr = VBA.String$(VBA.Len(tString), 0)
Dim hResult As Long
hResult = OemToCharA(tString, retStr)
convertFromOEM = dhTrimNull(retStr)
End Function
где OemToCharA это
Private Declare Function OemToCharA Lib "user32" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
dhTrimNull - функция, отсекающая хвостовые vbNullChar
Для Вин НТ и далее ответ здесь
/topic/87994&hl=