2011-11-20 51 views
1

在Excel VBA项目中,我需要读取和写入UTF-8编码的文本文件。在阅读thisthis SO主题后,我正在考虑使用ADO流对象来完成此操作。部署使用ADO对象的VBA项目

该项目将分配给公共用户群。我不知道安装的数量,但从更新后的下载速度来看,它一定在1000左右。

  1. 是否可以安全地假设VBA命令CreateObject(“ADODB.Stream”)在每台Windows 2000-Windows 7计算机上均有效?

  2. 根据用户的安全性或其他设置,我的VBA项目中ADO流对象或其功能的可用性?

如果有一个风险,即用户将体验到运行时错误是由于我的项目的新版本ADODB.Stream obejct,我宁愿不希望使用它。

回答

2

Stream对象被添加到ADO v2.5中,它是作为Win 2000和Win ME的一部分安装的。 见Microsoft ADO HistoryMicrosoft Data Access Components Installation。所以我会说是的,可以肯定的是它适用于所有Windows 2000 - Windows 7计算机。据我所知,流对象不再依赖于用户的设置,而不是VBA项目本身。

如果有一个风险,即用户将体验到由于ADODB.Stream obejct运行时错误...

总是用户将体验到运行时错误的风险。风险有多高取决于您的错误处理程度。您可以通过添加用于检查安装了哪个版本的ADO和/或检查该对象是否正确创建的代码来降低风险。