问题可能出在这一行:
idx = CInt(max.Substring(11,2)) + 1 '获得最大编号的后三位顺序号,并加1
你的编号是: R + 8位数的年月日 + 两位数的编号,合计11个字符
所以最后两个应该是从第十个字符开始,也就是编号9开始,改为:
idx = CInt(max.Substring(9,2)) + 1 '获得最大编号的后三位顺序号,并加1