mus*_*ear 5 vba macros microsoft-excel microsoft-excel-2010
升级到 Excel 2010(自 2003 年起)后,用于标准化 Access 导入数据的脚本已停止工作。它返回一个错误:“运行时错误‘1004’:对象‘工作簿’的方法‘OpenText’失败”。
在 OpenText 部分之前,宏在文件夹中搜索 DateCreated 的最新文件,然后返回文件名和路径。
相关代码是:
Workbooks.OpenText FileName:=myDir & "\" & strFilename, _
Origin:=-535, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), _
Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15 _
, 2), Array(16, 3), Array(17, 3), Array(18, 3), Array(19, 3), Array(20, 2), Array(21, 2), _
Array(22, 1), Array(23, 2), Array(24, 2), Array(25, 3), Array(26, 2), Array(27, 2), Array( _
28, 2)), TrailingMinusNumbers:=True
Run Code Online (Sandbox Code Playgroud)
任何想法可能会挂起 Excel 2010?
该文件仍然是一个 .xls 文件,并在兼容模式下运行,我还没有在任何其他宏中遇到问题。
录制新宏并与旧宏进行比较后更新:
新宏的一个区别,Origin 参数。
在旧宏中:
Origin:=-535
Run Code Online (Sandbox Code Playgroud)
新宏:
Origin:=65001
Run Code Online (Sandbox Code Playgroud)
在 Origin 上阅读,这似乎是要导入的文件的来源,可以省略。
Origin 对进口有何重要性?已指定数据类型。Origin 控制编码吗?
从原始宏中删除 Origin,返回相同的错误。将 Origin 值更改为 65001 仍会返回相同的错误。
@datatoo,你为我指明了正确的方向。这是一个变量/路径问题。不知何故,我开始使用 strFullFile 作为字符串来获取完整文件路径字符串。不过,我还简单地修改了 strFileName,在 myDir 字符串前面添加以创建完整的文件路径。删除将对 strFullFile 的适当引用更改为 strFileName 解决了该问题。
归档时间: |
|
查看次数: |
7747 次 |
最近记录: |