删除超链接的性能

我想通过VBA删除当前活动工作表上的所有超链接。

为此,我正在使用ActiveSheet.Hyperlinks.Delete命令,这工作正常,几乎不需要任何时间…

直到我同时打开两个包含超链接的工作簿 。 在这种情况下, 完全相同的命令需要更多的时间 (分钟)才能完成。 它完成它的工作,只删除活动页上的超链接,但是时间更长。 看起来不知何故,超链接的其他工作表正在放慢速度。

我可以同时打开多个工作簿,但是他们不能有任何超链接让macros快速工作。

有人能帮我克服这个吗?

实际上,我经常需要同时打开超链接工作簿,并运行删除超链接的macros。

这可能并不理想,但我会考虑用检查来启动代码,以查看其他工作簿是否在实例中打开,如果他们保存了活动工作簿,请打开一个新的Excel实例,然后在新实例中重新打开工作簿。 然后再次运行您的代码。

像这样打开新的实例:

 Sub BlahBlah if morethan1 then CWb = ActiveWorkbook.name ActiveWorkbook.save Dim objXL Set objXL = CreateObject("Excel.Application") objXL.Visible = True application.displayalerts = false objXL.Workbooks.Open = CWb application.displayalerts = True end if End Sub 

如果隔离工作簿,则应该返回到正常运行时