Vba Excel 2007卷影副本?
我的问题是关于Excel加载项和VBA代码 情况就是这样: 有2个Excel文件;一个是一个普通的Excel表,一个是.VLA代码,一个存储在网络驱动器上的VBA代码。 <>在Excel表单中引用.XLA文件,以便该表可以使用.XLA文件中的宏。到目前为止,这很好,但是有时看起来有一个bug:它看起来像是使用了XLA文件的某种“影子拷贝”。 当我在VBA编辑器中更改代码或设置断点时,会发生此错误,这两种情况在运行宏时都会被忽略。这感觉好像有一个XLA文件的旧拷贝,它是不可见的,它在某种程度上存储在正常的Excel文件中,所以运行的代码不是我在编辑器中看到的宏。 我想这个问题在我安装MS Office 2007后就出现了Vba Excel 2007卷影副本?,vba,excel,excel-2007,add-in,Vba,Excel,Excel 2007,Add In,我的问题是关于Excel加载项和VBA代码 情况就是这样: 有2个Excel文件;一个是一个普通的Excel表,一个是.VLA代码,一个存储在网络驱动器上的VBA代码。 在Excel表单中引用.XLA文件,以便该表可以使用.XLA文件中的宏。到目前为止,这很好,但是有时看起来有一个bug:它看起来像是使用了XLA文件的某种“影子拷贝”。 当我在VBA编辑器中更改代码或设置断点时,会发生此错误,这两种情况在运行宏时都会被忽略。这感觉好像有一个XLA文件的旧拷贝,它是不可见的,它在某种程度上存储在正
我希望有人能帮助我。如果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工作表时从您的网络位置加载最新的加载项。而不是引用文件,我通过代码加载加载项。我的用途是将我的外接程序存储在Dropbox文件夹中,但网络也可以这样工作
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
Sub-LoadAddins()
作为工作簿打开
以工作簿的形式新建
像绳子一样的粗线
作为字符串的Dim strExtension
出错时继续下一步
STRADINSPATH=“\\Server\Excel\AddIns\””在此处输入您的服务器路径
斯特拉迪斯帕酒店
strExtension=Dir(“*.xlam”)
当strExtension“”时执行此操作
设置wbOpen=工作簿.Open(跨越空间和延伸空间)
strExtension=Dir
环
错误转到0
端接头
您需要将其添加为受信任的位置,但允许我将正在处理的任何加载项放在文件夹中,并自动加载它们
迭代我修改过的文件夹中的文件的代码:
这是可能的。但为什么Excel有时会这样做,有时不会?我如何防止它这样做?大约有50人正在使用引用的XLA文件。我不能让他们每次都手动重新添加外接程序。他们中的一些人甚至不知道addin是什么:)