VB默认的字符串其实就是Unicode的方式存在内存中的,你对Unicode的字符串进行Unicode当然要出错,所以,不要对VB的字符串使用Unicode的方式进行转换,而要使用vbFromUnicode请使用Byte数组
例如下面的代码。
pngpath = "D:\桌面水族馆\Fishes\Pack 1\BlueAFLeft.png"
k1 = pngpath
Dim k2() As Byte
k2 = StrConv(k1, vbFromUnicode)
MsgBox StrConv(k2, vbUnicode)