2016-04-19 143 views
1

我有一些代码打开一个文件,将一些单元格复制/粘贴到合并的工作表中,关闭文件;然后循环查找文件夹中的所有文件。是这样的:在VBA中打开Excel文件时不加载插件?

Set SourceFile = Workbooks.Open(FilePath & FileName) 
Set Ltab = SourceFile.Worksheets("Sheet1") 

Ltab.Cells.Copy 
NewTab.Cells.PasteSpecial xlPasteValuess 

SourceFile.Close 

是否有一条线,我可以添加,将停止Excel加载每次打开文件时添加插入?有很多文件和加载插件每次都会增加5-10秒。

This没有真正回答我的问题,因为我需要一种方法来在VBA中完成它。

感谢

+1

狂猜:'Application.EnableEvents = False' – findwindow

+0

请问[this thread](http://www.ozgrid.com/forum/showthread.php?t= 25042)有帮助吗?或[这[SO](http://stackoverflow.com/questions/7921188/vb6-vba-do-not-allow-com-add-in-to-load)线程? – BruceWayne

+0

@BruceWayne我看到了第一个线程,但无法弄清楚如何解决所有Excel的插件,除了一一命名它们。我希望这个解决方案是动态的,所以我不必知道哪些和哪些添加了。没有_Index_参数,AddIns.Installed不起作用。 – partiallyfulltime

回答

0

所以,如果你不瓦纳禁用所有加载项不点名,并Installed = false是正确的aproach尝试for each

Sub runWithoutAddins() 

Dim var As AddIn 

    For Each var In AddIns 
     var.Installed = False 

    Next var 

End Sub 

我不需要知道他们的名字来遍历他们,但是这将循环AddIn集合中的每个对象,并将其属性Installed设置为false。 (如果我理解得很好,将禁用它们)

+0

谢谢,循环是解决不知道名称/编号问题的好主意。但我想我还有另一个问题 - 那就是我想阻止_being在第一个位置加载插件,而像这样的代码只会在文件打开后禁用它们。我的问题是,加载插件会为打开每个文件的过程增加额外的时间,这可能会累积超过100个文件。 – partiallyfulltime

+0

@partiallyfulltime hhh我发现这个:D,所以你可以尝试https://support.microsoft.com/en-us/kb/213489 probabyl其MS选项如何禁用插件:D –