如何用VBA从Application对象动态获取服务器名字符串?
获取当前Office应用的ProgID(服务器名字符串)
当然可以实现你的需求!你示例里的Application.ServerName是伪代码,实际我们需要用Application.ProgID属性——这个属性专门返回对应Office应用的程序标识符(ProgID),正好就是你要的"Excel.Application"、"Outlook.Application"这类格式的字符串。
修正后的示例代码
Option Explicit Sub Test() Dim SrvrName As String SrvrName = Application.ProgID ' 这行是正确的代码 MsgBox SrvrName ' 可先弹窗验证结果是否符合预期 End Sub
关键说明
ProgID是每个Office应用的唯一标识,会根据你当前运行VBA的应用自动动态变化:在Excel里运行返回Excel.Application,在Word里返回Word.Application,Outlook中则是Outlook.Application,完美匹配你的预期输出。- 拿到这个字符串后,你可以直接通过命令行参数、写入临时文件等方式传递给外部VBScript文件,VBScript就能依据这个ProgID创建对应的应用对象了。
内容的提问来源于stack exchange,提问作者Mario Palumbo
相关产品推荐
相关产品推荐

