在vba中如何在保存文件时更改扩展名,不知道确切的文件名

我的问题是这个。

我使用通配符读取一系列文件名,以便文件名的末尾是未知的,扩展名是.xls或.xlsx。 所以,通配符是这样的:

beginningOfFilename_ *.xls *

然后,我想在每个文件操作完毕后将其保存为相同的名称,但是以.csv(逗号分隔的值文件)的forms保存。 在Excel中的VBA,我可以只指定格式,它会照顾的扩展,或者我必须以某种方式拉(未知)的扩展名,并追加.csv

如果第二种情况是必要的你将如何处理这个问题,我不知道从哪里开始,因为文件名的一部分是未知的,我不知道如何操纵string在VB中。

我是一名VBA初学者。

任何帮助将不胜感激,谢谢。

你想要的行是:

 Mid(sFile, 1, InStrRev(sFile, ".")) & "csv" 

其中sFile是任何扩展名的文件名。

 Split(sFile, ".")(0) & ".csv" 

其中sFile是文件名

获取文件的path和名称,而不使用扩展名。

 Dim StrFileName as string StrFileName= split(ThisWorkbook.fullName,".xls")(0) 

现在使用StrFileName内容保存您的Csv。

[]的