使用 VBA 从 IQy 转换为 XLSX
Converting from IQy to XLSX with VBA
我有大约 40 个文件是 IQy 文件,我可以用 Excel 打开它们,我正在尝试浏览所有这些文件并将它们保存为 xlsx 文件。到目前为止,我在 VBA 中拥有的是这个
Sub ConvertFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\CHI\Downloads"
Filename = Dir(Pathname & ".iqy")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
wb.SaveAs Pathname & Filename & ".xlsx"
wb.Close
Filename = Dir()
Loop
End Sub
据我了解,这循环遍历我的下载文件,其中存储了 iqy 文件,然后以 xlsx 格式保存。当我 运行 没有任何反应。
更新
Sub ConvertFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\CHI\Downloads\"
Filename = Dir(Pathname & "*.iqy")
Application.DisplayAlerts = False
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
wb.SaveAs Pathname & Filename & ".xlsx", FileFormat:=51
wb.Close
Filename = Dir()
Loop
End Sub
这对我有用,我现在唯一的问题是在它更改每个文件后我得到导入数据的提示,我只需按一下就可以了。有没有办法使这部分自动化,以便我可以使用 table 选项导入数据。
您需要包含一个通配符才能找到您的 iqy 文件,您的路径名将需要一个额外的文件夹分隔符以允许打开和另存为工作:
Sub ConvertFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\CHI86786\Downloads\"
Filename = Dir(Pathname & "*.iqy")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
wb.SaveAs Pathname & Filename & ".xlsx", FileFormat:=xlOpenXMLWorkbook
wb.Close
Filename = Dir()
Loop
End Sub
最后,为了确保正确保存,在使用SaveAs
时设置FileFormat
参数。
我有大约 40 个文件是 IQy 文件,我可以用 Excel 打开它们,我正在尝试浏览所有这些文件并将它们保存为 xlsx 文件。到目前为止,我在 VBA 中拥有的是这个
Sub ConvertFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\CHI\Downloads"
Filename = Dir(Pathname & ".iqy")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
wb.SaveAs Pathname & Filename & ".xlsx"
wb.Close
Filename = Dir()
Loop
End Sub
据我了解,这循环遍历我的下载文件,其中存储了 iqy 文件,然后以 xlsx 格式保存。当我 运行 没有任何反应。
更新
Sub ConvertFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\CHI\Downloads\"
Filename = Dir(Pathname & "*.iqy")
Application.DisplayAlerts = False
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
wb.SaveAs Pathname & Filename & ".xlsx", FileFormat:=51
wb.Close
Filename = Dir()
Loop
End Sub
这对我有用,我现在唯一的问题是在它更改每个文件后我得到导入数据的提示,我只需按一下就可以了。有没有办法使这部分自动化,以便我可以使用 table 选项导入数据。
您需要包含一个通配符才能找到您的 iqy 文件,您的路径名将需要一个额外的文件夹分隔符以允许打开和另存为工作:
Sub ConvertFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Pathname = "C:\Users\CHI86786\Downloads\"
Filename = Dir(Pathname & "*.iqy")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
wb.SaveAs Pathname & Filename & ".xlsx", FileFormat:=xlOpenXMLWorkbook
wb.Close
Filename = Dir()
Loop
End Sub
最后,为了确保正确保存,在使用SaveAs
时设置FileFormat
参数。