Excel 2007影子副本?

我的问题是关于Excel加载项和VBA代码。

这是情况:

有2个Excel文件; 一个只是一个正常的Excel工作表,一个是存储在networking驱动器上的VBA代码的.xla插件。

在正常的Excel工作表中是对.xla文件的引用,以便工作表可以使用.xla文件中的macros。 到目前为止,这工作正常,但有时似乎有一个错误:它看起来像表格使用某种“影子副本”的.xla文件。 当我在VBA编辑器中更改代码,或者我设置了一个断点时,就会出现这个错误。 感觉就像有一个.xla文件的旧副本,它是不可见的,它以某种方式存储在正常的Excel文件中,所以运行的代码不是我在编辑器中看到的macros。

我认为这个问题发生在我安装MS Office 2007之后。

我希望有一个人可以帮助我。

如果Excel在本地存储加载项的版本,我不会感到惊讶。 当你改变你的xla时,我肯定会重新添加你的加载项以确保安装最新版本。

编辑:

你可以尝试做这样的事情:

Private Sub Workbook_Open() Application.DisplayAlerts = False AddIns("Your Library Name").Installed = False 'To remove current link AddIns.Add Filename = "\\Your Server Path\Excel_Library3.xla" AddIns("Your Library Name").Installed = True Application.DisplayAlerts = True End Sub 

这将确保最新的插件在打开Excel表单时从您的networking位置加载。

而不是引用文件,我加载插件的代码。 我的用途是将我的插件存储在我的Dropbox文件夹中,但是networking的工作原理是一样的。

 Sub LoadAddins() Dim wbOpen As Workbook Dim wbNew As Workbook Dim strAddinsPath As String Dim strExtension As String On Error Resume Next strAddinsPath = "\\Server\Excel\AddIns\" 'Your server path here ChDir strAddinsPath strExtension = Dir("*.xlam") Do While strExtension <> "" Set wbOpen = Workbooks.Open(strAddinsPath & strExtension) strExtension = Dir Loop On Error GoTo 0 End Sub 

你需要添加它作为一个值得信赖的位置,但让我把我在文件夹中的任何插件,并让他们自动加载。

代码遍历我修改的文件夹中的文件: http : //www.ozgrid.com/VBA/2007-filesearch-alternative.htm