求帮助:关于excel vba中dir的用法,其中返回的文件名称是否有长度,字符等方面的要求?

因为是很多行的批处理,其他的都没有问题,但是就下面这条不行,提示“文件未找到”
***人民政府领导批示抄告单:***关于****,*****,*****,*****遗留问题等有关问题协调情况的报告
(*表示汉字)
其中用的是:dir("E:\1\***人民政府领导批示抄告单:***关于****,*****,*****,*****遗留问题等有关问题协调情况的报告.pdf")
是不是文件名称过长?我把它缩短你就没有问题了,有谁了能详细帮我解答一下吗?万分感谢

不是长度问题,长度不超过255字节都不会有问题。估计是文件名中的符号有问题,如“,”等。代码中与实际文件名中的符号不相同(中西文差别),在代码中改用通配符“*”或“?”配合查找的关键字可解决问题,。如:dir("E:\1\*人民政府领导批示抄告单:*关于*遗留问题等有关问题协调情况的报告.pdf")追问

谢谢你的回答,但是……
你后面说的这个我这可能无法操作,因为是保存路径是采取excel中的concatenate函数的。文件名是用的同行的一单元格的名称。
昨天一个一个的试过了,好像只要长度超多一个限额,就会提示“文件未找到”,我把文件名称缩短,一般是去掉几个汉字,就不会出问题了。

追答

我还是认为问题出在你单元格中的文件名与实际文件名有差别,你可以进行字符串比较看是不是这个问题,直接将实际文件名复制后粘贴到代码中与查找的字符串进行比较(不要人工输入)。

追问

我觉得我好像说漏了很重要的一点:我用dir的目的是需要判断该文件是否存在?不存在返回“”,存在返回文件名,我举得这个例子文件时不存在的,不是应该返回“”吗,为什么提示错误“文件未找到”

追答

你说的对,按理说没找到会返回“”。刚才我试验了一下,查找的字符串太长了就会出现“文件未找到”的错误信息,但也是长到超过255字节(120多汉字)才出现的,你的文件名长度还不到70个汉字,不应该出错呀!也许是版本不一样吧。我用的是Excel 2003版,操作系统Win XP

追问

我用的是2007,xp,我试了几次,好像真的是长度的问题,我这试的文件路径的整体字符长度好像不能超过136?我不知道了……
谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-18
dir一般需要指定路径和文件类型如dir(“C:\1\*.xls")

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网