我想从 Excel-VBA 打开资源管理器,位于用户选择的文件夹中,但该文件夹不是英文的。我在 ChrW 代码中保存了文件夹名称。
当我使用以下代码时,资源管理器会在正确的文件夹中打开:
Sub Show_Folder()
Shell "Explorer.exe c:\" & ChrW(1488) & ChrW(1502) & ChrW(1488), vbNormalFocus
End Sub
但是当我使用变体时,资源管理器会在默认位置打开:
Sub Show_Folder()
Dim FolderCode As String
FolderCode = "ChrW(1488) & ChrW(1502) & ChrW(1488)"
Shell "Explorer.exe c:\" & FolderCode, vbNormalFocus
End Sub
我尝试使用FolderCode在其开头添加“&”和“&”,但没有运气...... 我错过了什么?
Sub ShowFolder2()
Dim FolderCode As String
FolderCode = ChrW(1488) & ChrW(1502) & ChrW(1488)
Shell "Explorer.exe C:\" & FolderCode & ", vbNormalFocus"
End Sub
虽然效率低下,但如果由于您在评论中所述的原因,
FolderCode
包含实际字符串"ChrW(1488) & ChrW(1502) & ChrW(1488)"
,您可以将ChrW
替换为Unichar
来创建Excel公式,然后应用Evaluate
功能:
Option Explicit
Sub ShowFolder2()
Dim FolderCode As String
FolderCode = "ChrW(1488) & ChrW(1502) & ChrW(1488)"
FolderCode = Evaluate(Replace(FolderCode, "ChrW", "UNICHAR"))
Shell "Explorer.exe C:\" & FolderCode & ", vbNormalFocus"
End Sub