2012-09-30 2 views
2

Excel (Office 2011, Mac)에 대해 두 개의 VBA 추가 기능을 작성했습니다. 첫 번째 '기본'추가 기능은 두 번째 추가 기능에 대한 기능도 제공합니다. 또한 향후 기본 추가 기능의 기능을 사용하는 다른 추가 기능도 있습니다. 기본 플러그인을 실행하는 것이 가능해야하며 두 번째 플러그인은 선택 사항입니다. 내가 VBA 편집기를 열 때 Run-time error 91: Object variable or With block variable not set.프로그래밍 방식으로 참조를 추가하면 런타임 오류가 발생합니다.

: 두 번째 플러그인에서

, 나는 이런 참조 추가하려고 해요 : Excel을 시작할 때 그러나

Public Sub Workbook_Open() 
    Application.VBE.VBProjects("SecondAddin").References.AddFromFile ("BasicAddin.xlam") 
    UseFunctionFromBasicAddin 
End Sub 

Private Sub UseFunctionFromBasicAddin() 
    FunctionFromBasicAddin 
End Sub 

를이 나에게 런타임 오류를 제공합니다 이 오류가 발생하면 SecondAddin에서 BasicAddin.xlam이 올바르게 참조됩니다. VBA 편집기에서 UseFunctionFromBasicAddin()을 실행하면 작동합니다. Excel을 시작할 때 작동하지 않습니다.

추가 기능이 모두로드의 VBA 편집기 (도구 -> 참조)에서 참조를 추가하지만, 그러나, MsgBox: "This workbook is currelty referenced by another workbook and cannot be closed."

이, 내가 링크를 의심하기 때문에 프로그래밍 방식으로 참조를 추가 할 경로가 다른 컴퓨터에서 플러그인을 사용할 때 문제가 발생합니까?

런타임 오류를 제거하는 방법에 대한 제안이 도움이 되었습니까? (또는 다른 추가 기능을 관리하는 더 좋은 방법이 있습니까?) ...!

답변

0

현재 통합 문서의 VBA 프로젝트 참조를 수정할 수 있다고 생각하지 않습니다.

여기 ozgrid 링크는 깨진 참조를 제거하는 방법을 알려주며,이를 프로그래밍 방식으로 수행하려면 다른 통합 문서에서 수행해야한다고 말합니다.

안녕 바바라

http://www.ozgrid.com/forum/showthread.php?t=23866

,

1 A 참조 ISMISSING 통합 문서 VB 프로젝트 참조에 추가됩니다. 은 (해야하는 당 당신은 코드를 호출하거나 다음 오류 메시지가 보여됩니다 설치하려고하지 않는 문제.

이 절차 아래는 다른 통합 문서와 대상 통합 문서에서 실행해야되지 그 자체 열려 있어야합니다

VB :.

Sub Del_Broken_Ref() 
     'Add a reference to the Microsoft Visual Basic for Applications Extensibility 5.3 
    Dim VBReferens As VBIDE.Reference 
    Dim VBProjekt As VBIDE.VBProject 
    Dim stBok As String 

    stBok = Workbooks("Test.xls").Name 

    Set VBProjekt = Workbooks(stBok).VBProject 

    For Each VBReferens In VBProjekt.References 
     If VBReferens.IsBroken Then VBProjekt.References.Remove VBReferens 
    Next VBReferens 

End Sub 

하면 도구를 통해 VB-프로젝트에 대한 액세스를 허용해야합니다 엑셀 2002과 이상을 실행 s - 매크로 ... - 보안.

[편집] 추가 기능 VB 프로젝트는 다음 닫혀있는 경우 당신은 운이 있습니다 ...

관련 문제