You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引用Microsoft Scripting Runtime时FileSystemObject与Scripting.FileSystemObject的区别

两种FileSystemObject实例化写法的差异说明

前提说明

以下结论仅适用于已添加Microsoft Scripting Runtime库引用、使用早期绑定的场景:

核心差异

两种写法本质上只有「命名空间是否显式声明」的区别:

  • Set FSo = New FileSystemObject:没有显式指定类所属的命名空间,VBA会按照「引用列表」的优先级,自动匹配第一个包含FileSystemObject类的库来实例化
  • Set FSo = New Scripting.FileSystemObject:显式指定了类属于Scripting(即Microsoft Scripting Runtime库的根命名空间),无论引用列表怎么调整,都会固定调用该库的FileSystemObject类

优劣对比&适用场景

  • 当你的工程仅引用了Microsoft Scripting Runtime一个包含FileSystemObject类的库时,两种写法完全等效,功能、运行性能没有任何区别,可自由选用
  • 更推荐日常使用带Scripting.前缀的写法,优势如下:
    • 代码可读性更高,其他维护者不需要翻查引用列表,就能直接判断类的来源
    • 兼容性更强,避免后续工程新增其他包含同名类的引用时,出现类匹配冲突导致的运行报错

内容的提问来源于stack exchange,提问作者SquirrelBait

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:45:05