使用变体 Unicode 文件夹从 Excel-VBA 打开 Shell 命令

问题描述 投票:0回答:1

我想从 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在其开头添加“&”和“&”,但没有运气...... 我错过了什么?

excel vba unicode
1个回答
1
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.