繁体   English   中英

Excel VBA-仅按名称关闭活动表/文档-非文件路径

[英]Excel VBA - close an active table/document by name only - NOT filepath

我有一本工作簿,我会定期从Yahoo链接更新股票价格。 它会打开一个名为“表”的只读文件。 以下是示例链接

http://real-chart.finance.yahoo.com/table.csv?s=INTC&a=05&b=9&c=2000&d=06&e=7&f=2016&g=d&ignore=.csv

当我打开多个“表”文件时,事情变得一团糟,这会导致多次单击以导入数据。

有没有一种方法可以让我在其中可以关闭任何打开名为'table'的csv / xls文件的宏?

用于获取此数据的函数是

=HYPERLINK("http://real-chart.finance.yahoo.com/table.csv?s=INTC&a=05&b=9&c=2000&d=06&e=7&f=2016&g=d&ignore=.csv","link")

而且我之前使用过类似的关闭工作簿脚本,但是我一生无法弄清楚如何引用此打开文件以使其关闭

这假设文件在与运行代码的Excel实例相同的Excel实例中打开,并且您不希望将任何更改保存到打开的文件中。

Sub CloseTableWorkbooks()

Dim wb as Workbook

For each wb in Application.Workbooks
    If Instr(1, wb.Name, "table") Then wb.Close False
Next

End Sub
Dim book As Workbook
    For Each book In Application.Workbooks
        if book.name = "table.xls" or book.name = "table.csv" then
            book.close
        end if
    Next

您会收到一些消息,例如“您要在关闭之前保存吗?” 或类似功能,通常是Excel会执行的操作。 您也可以阻止它们,但是我不确定是否需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM