将文件另存为xlsm或某种启用了宏的格式

时间:2020-05-16 09:06:11

标签: excel vba

我有一个宏,它可以打开xlsx文件,刷新加载项以下载数据,然后保存。但是,我无法再次打开该文件。当我打开时,Excel只会显示灰色窗口。我认为Excel将文件另存为启用宏的格式。但是,它仍然说它是xlsx文件。如何停止此文件? 1.如何将文件另存为xlsx格式 2.将以前的文件(已打开并另存为某种启用宏的格式的文件)转换为xlsx格式,以便我可以打开。根据文件的大小,有数据。 这是我的代码:

For Each oFile In oFolder.Files
    'Set variable equal to opened workbook
    myFile = oFile.Name
    Set wb = Workbooks.Open(filename:=myPath & myFile)
    Windows(wb.Name).Visible = False
    Set cmd = Application.CommandBars("Cell").Controls("Refresh All")
    cmd.Execute
    DoEvents

    'Ensure Workbook has opened before moving on to next line of code
    wb.Close savechanges:=True

1 个答案:

答案 0 :(得分:0)

应用程序窗口显示为灰色,表示Excel仍在运行,指示ActiveWorkbook不可见。由于您的代码隐藏了其中包含工作簿的窗口,因此灰屏表示没有其他工作簿可以代替Excel显示,即,既打开又可见的工作簿。

由于要遍历文件夹中的所有文件,因此您的意图可能是在后台进行无形的操作。因此,所缺少的可能是场景,例如在所有活动不可见的情况下可以显示的工作簿。在正常情况下,应为 ThisWorkbook ,即包含代码的那本书。