none
VBA라이브러리 참조 관련 RRS feed

  • 질문

  • 1. 엑셀버전

    2007, 2010 을 같이 사용해요.

    2. 질문

    VBA를 만들어서 사용하고 있는데요.

    공유폴더에 엑셀 2007, 2010을 같이 사용하고 있는데,

    상황이 컴퓨터 2대가 1대에 있는 공유폴더로 접속해서 엑셀을 사용중입니다.
    1대는 오피스2010 다른 한대는 오피스2007을 쓰고 있고요. ^^

    라이브러리 참조시

    2007은 Outlook 12.0 을 사용

    2010은 Outlook 14.0 을 사용

    그런데 문제는 매번 수동으로 위 그림과 같이 참조를 변경해줘야 합니다.

    (※참조오류 발생!, 참조만 설정해주면 VBA는 잘 동작합니다.)

    버전에 따라 자동으로 참조 할수 있도록 하는 코드가 있을까요?
    2013년 12월 9일 월요일 오전 9:17

모든 응답

  • 안녕하세요.

    VB MVP 고성만 입니다.

    아래와 같은 방법으로 클라이언트 PC에 인스톨 되어있는 엑셀 버젼을 취득할수 있습니다.

    취득후에는 필요한 DLL 에 맞도록 설정을 이어가도록 하면 될것 같습니다.

    Public Class OfficeVer
     Public Sub Main()
      Dim oApp As Object
      Dim Ver As Decimal
    
      oApp = CreateObject("Excel.Application")
      Ver = CType(oApp.Version.ToString, Decimal)
    
      '엑셀 버젼을 확인한다.
      If Ver >= 14 Then
       '오피스 2010
      ElseIf Ver >= 12 Then
       '오피스 2007
      ElseIf Ver >= 11 Then
       '오피스 2003
      Else
       Console.WriteLine("Office 2000 앞의버젼")
      End If
    
     End Sub
     End Class

    잘 안되시면 다시한번 질문주세요.

    감사합니다.


    프로그램 개발에는 정답이 없다.

    2014년 1월 20일 월요일 오전 2:51
  • 좀 늦게 답변을 보았습니다.

    버전확인하는 방법은 이미 쓰고 있었습니다.

    헌데, DLL 참조하는 구문을 알고 싶네요.

    버전에 따라서 아래를 참조하고 싶은데요,

    Microsoft Outlook 12.0 Object Library

    Microsoft Outlook 14.0 Object Library

    구체적인 방법을 알고 싶어요~ ^^

    2014년 2월 17일 월요일 오후 11:04
  •   Dim OLB As String
      Dim Vmajor, Vminor
        
    '  Load Microsoft Outlook 12.0 or 14.0 Object Library
         OLB14 = "{00062FFF-0000-0000-C000-000000000046}"
         Vmajor14 = 9
         Vminor14 = 4
       
         OLB12 = "{00062FFF-0000-0000-C000-000000000046}"
         Vmajor12 = 9
         Vminor12 = 3
         
           If Application.Version = 12 Then
             ThisWorkbook.VBProject.References.AddFromGuid OLB12, Vmajor12, Vminor12
           Else
           ThisWorkbook.VBProject.References.AddFromGuid OLB14, Vmajor14, Vminor14
         End If
        End Sub

    이런식으로 구현하시면 될것 같습니다.

    출처 : http://www.teachexcel.com/excel-help/excel-how-to.php?i=400190

    2014년 2월 18일 화요일 오전 9:28