如何在vba excel中打开一个带有可变扩展名的文件
我必须提出一个VBA从Excel中打开一个CSV问题是文件有一个格式:
constan_name_file。 YYY
例如
file1.124514(第1天)
file1.144521(第2天)
file1.152132(另一天)
名称文件是一个常量,但YYY是可变的,但里面的文件是一个CSV。 那有可能打开它?
在Excel 2007中打开csv文件时,我遇到了格式问题。在excel论坛中只查找一个可能的解决scheme。 将文件扩展名从csv更改为txt。
试图尽可能地做一个函数。 这里是:
选项显式
Function ChangeFileExt(filnamn As String,extensionOld,extensionNew)
昏暗的旧名称,新名称作为string
oldname = ThisWorkbook.Path&“\”&filnamn&“。” &extension老
newname = ThisWorkbook.Path&“\”&filnamn&“。” &extensionNew
名字oldname作为新名字
结束function
” …………………………………………. …………………………
Sub change_extension()
“目标:希望保持csv格式在workbook.open
'将文件从filename.csv重命名为filename.txt
'打开txt文件
' 处理数据
'如果有必要,重命名为csv-file
Dim csv,txt As String
csv =“csv”
txt =“txt”
调用ChangeFileExt(“file_name_to_change”,csv,txt)'省略file_name_to_change中的扩展名
各种代码
调用ChangeFileName(“file_name_to_change”,txt,csv)'将文件名更改为原始名称
结束小组
为什么不强制打开它作为一个CSV文件
Workbooks.Open Filename:=name, Format:=2
这里的2指定该文件是用逗号分隔的http://msdn.microsoft.com/en-us/library/office/ff194819.aspx
感谢使用通配符,最后我得到了代码。
sub GetFiles(direc As String, fich As String) Dim strFileName As Variant strFileName = dir(direc & "\" & fich & ".******") If Len(strFileName) > 0 Then 'open end if End sub
是的,请尝试下面的代码:
dim sFileName as string dim sExtension as string sExtension="YYY" sfilename=constan_name_file & "." & sExtension workbooks.open sfilename, Format:=2