按byte截取字符串问题

大神们,我遇到个问题,不知道大家有没有好的解决办法
VB程序输出一个字符串,用下面的方式处理的字符串
StrConv(MidB(StrConv(inputstring, vbFromUnicode), 1, 15), vbUnicode)
inputstring 是输入的字符串
是截取字符串前15byte,因为每个汉字是2个字节
在XP下,8个汉字的输入字符串,截取的结果是7个汉字+1个半角空格,正好是15byte
但是在windows7下,结果变成了7个汉字+1个"・","・"这个字符占了2个byte, 输出是16byte的字符串,结果出错了.
请问有什么简单的解决方法么
改程序什么的先不考虑,因为地方太多了,而且要重新发布,有没有什么改下环境之类的简单解决方案能解决这个问题呢,万分感谢

vb好古老了,支持你

如果inputstring 都是汉字,好办啊,直接取前7个汉字+空格

如果你要截完整字符,是不是想复杂了,用strconv也就是中英文混合长度时用。如果截字符串个数
直接Mid(inputstring, 1, 5),
比如"7个汉字+1个",如果要到截取到”字“,那直接长度4就行了。如果要到1,那长度6

那就用个函数来处理呗:

 Sub test()
    Dim w1 As String, Byt() As Byte, Byt1(14) As Byte, i As Integer
    w1 = "sf906=我们的祖国是个伟大的国家"
    Byt = StrConv(w1, vbFromUnicode)
    For i = 0 To 14
        Byt1(i) = Byt(i)
    Next
    Debug.Print StrConv(Byt1, vbUnicode)
End Sub