更改文件扩展名VBA时出错
我有一个VBA代码,可以打开一个.csv文件,更改其名称和扩展名,然后将其关闭并保存更改(作为摘要)。代码工作正常,但当我尝试打开新文件时,会收到一条消息,说明文件无法打开,因为格式或文件扩展名无效。我知道问题是由代码产生的,因为如果我手动执行所有操作,就不会出现任何错误。代码如下:更改文件扩展名VBA时出错,vba,excel,csv,xlsb,Vba,Excel,Csv,Xlsb,我有一个VBA代码,可以打开一个.csv文件,更改其名称和扩展名,然后将其关闭并保存更改(作为摘要)。代码工作正常,但当我尝试打开新文件时,会收到一条消息,说明文件无法打开,因为格式或文件扩展名无效。我知道问题是由代码产生的,因为如果我手动执行所有操作,就不会出现任何错误。代码如下: Sub test2() Dim nombre As String Dim base As Workbook Dim filtros() As Variant Dim archivo
Sub test2()
Dim nombre As String
Dim base As Workbook
Dim filtros() As Variant
Dim archivo As Workbook
Set archivo = ActiveWorkbook
Application.ScreenUpdating = False
nombre = InputBox("Ingrese el nombre de la base con los nuevos clientes")
Workbooks.Open ("C:\Users\npavon\Desktop\Bases de Datos Asistencia\" & nombre & ".csv")
Set base = Workbooks(nombre & ".csv")
base.Sheets(1).Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True
base.SaveAs ("C:\Users\npavon\Desktop\Bases de Datos Asistencia\" & Left(base.Name, InStr(base.Name, ".") - 1) & " ordenado.xlsb")
base.SendMail Recipients:="xx@xx.cl", Subject:="Base de Datos " & Date, returnreceipt:=False
base.Close savechanges:=True
Application.ScreenUpdating = True
End Sub
有什么建议吗?忘记扩展名,使用fileformat参数
base.SaveAs filename:="C:\Users\npavon\Desktop\Bases de Datos Asistencia\" & Left(base.Name, InStr(base.Name, ".") - 1) & " ordenado", fileformat:=xlExcel12
在不指定文件格式的情况下,Excel会尝试从文件、选项、保存、以此格式保存文件保存为默认格式。添加不同的扩展不会改变这一点
更多信息请访问和
.您是否测试了“C:\Users\npavon\Desktop\Bases de Datos Asistencia\”和Left(base.Name,InStr(base.Name,”)-1)和“ordenado.xlsb”的值。如果在此之前停止,并在即时窗口中选择“C:\Users\npavon\Desktop\Bases de Datos Asistencia\”&左(base.Name,InStr(base.Name,“.”-1)和“ordenado.xlsb”