【问题标题】:Save the file as xlsm or some sort of macro enabled format将文件另存为 xlsm 或某种启用宏的格式
【发布时间】:2020-05-16 21:06:40
【问题描述】:

我有一个宏可以打开 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

【问题讨论】:

  • 您的代码隐藏了显示工作簿的窗口。 Windows(wb.Name).Visible = False 所以你看不到。如果你想看到它,不要让它看不见。仅供参考,文件的格式,无论是 XLSX 还是 XLSM,都不会影响其在屏幕上的外观。
  • 是的,我从字面上就发现了这一点。太感谢了。如何让您的评论成为答案?

标签: excel vba


【解决方案1】:

灰显的应用程序窗口表示 Excel 仍在运行,表示 ActiveWorkbook 不可见。由于您的代码隐藏了其中包含工作簿的窗口,因此灰色屏幕表明 Excel 可能不会显示其他工作簿,即一个既打开又可见的工作簿。

由于您正在遍历文件夹中的所有文件,因此您的意图可能是不可见地进行,就像在幕后一样。因此,缺少的可能是场景,例如可以在所有活动不可见的情况下显示的工作簿。一般情况下应该是ThisWorkbook,即包含代码的那个。

【讨论】:

    猜你喜欢
    • 2021-07-11
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 2015-01-25
    相关资源
    最近更新 更多