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

问题描述 投票:0回答:1

我有一个宏,它可以打开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
excel vba excel-vba
1个回答
0
投票

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

由于您正在浏览文件夹中的所有文件,因此您可能打算在后台进行不可见的操作。因此,所缺少的可能是场景,例如在所有活动不可见的情况下可以显示的工作簿。通常情况下,应为ThisWorkbook,即包含代码的代码。

© www.soinside.com 2019 - 2024. All rights reserved.