none
Access_GetObject("C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm") 함수 실행 시 경로 오류 RRS feed

  • 질문

  • Private Sub Command2_Click()
     
      
        Dim xlObject As Object
         Dim strFile As String
     
    On Error GoTo 오류처리
     
    'Excel 파일 선택
        
        Set xlObject = GetObject("C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm")
         strFile = xlObject.Name
     '임시 테이블로 가져오기
         '임시 테이블 데이터 삭제
         CurrentProject.Connection.Execute "DELETE * FROM [t_선물일봉_임시]"
        
        '임시 테이블로 가져오기
         DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "t_선물일봉_임시", strFile, True
     
        DoCmd.OpenQuery "q_선물일봉_추가실행"
     '메시지 표시
         MsgBox "데이터를 가져왔습니다."
         Exit Sub
        
    오류처리:
         MsgBox Err.Description & vbNewLine & Err.Number
     End Sub
     
     
     
    상기 매크로를 실행하면 다음과 같은 에러 메시지가 뜹니다.
     
    Microsoft Access 데이터베이스 엔진에서 'C:\Users\경ㅂ\Documents\선물일봉.xlsm'개체를 찾을 수 없습니다. 이 개체가 있는지, 개체 이름과 경로를 제대로 입력했는지 확인하십시오. 'C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm'이(가) 로컬  개체가 아닌 경우에는 네트워크 연결을 확인하거나 서버 관리자에게 문의하십시오. 3011
     
     
     
    경로가 매크로에 기록된 ('C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm')대로 실행되지 않고 이 경로('C:\Users\경ㅂ\Documents\선물일봉.xlsm')로 실행되는 이유를 알고 싶습니다.
     
    중간의 ('리서치') 경로가 적용되지 않는 이유는 C:\Users\경ㅂ\Documents가 디폴트 값이 아닌가  하는 생각이 듭니다.

    다른 파일들도  C:\Users\경ㅂ\Documents에 위치하면 오류가 발생하지 않습니다.
     
    알려주시면 매우 감사하겠습니다.
     
    즐거운 하루 되세요.

    2011년 8월 26일 금요일 오전 12:22

모든 응답

  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Access_GetObject("C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm") 함수 실행 시 경로 오류에 대한 답변을 드리겠습니다.

     

    위의 스크립트를 동일하게 사용해서 테스트를 해보았습니다.

     

    환경

     

    Windows 7 Enterprise

    Office Excel 2010

    Domain Member PC

     

    테스트 경로

     

    C:\OpeningBook.xlsm

    C:\Users\TestUser\OpeningBook.xlsm

    C:\Users\TestUser\Research\OpeningBook.xlsm

     

    위의 경로로 테스트결과 전부 잘 작동했습니다.

     

    단 경로에 한글은 사용하지 않았습니다.

     

    제생각에는 풀경로를 입력했을 경우 정확히 그 경로를 참조해서 작동합니다.

    다른 경로도 테스트해보기를 추천합니다.

      

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    2011년 8월 26일 금요일 오전 1:27
    중재자
  • 답변 감사합니다.

    폴더명을 영문으로 바꾸어서 실행해도 마찬가지 현상이 발생합니다.

    참고로 현재 ACCESS파일에는 다른 매크로에서  'C:\Users\경ㅂ\Documents\기타.xlsm' 문서를 사용하는 매크로가 이미 있습니다.

    그리고

    GetObject("C:\Users\경ㅂ\Documents\Reserch\선물일봉.xlsm") 매크로를 실행(물론 같은 에러 발생) 한 후   에러가 발생하여 폴더명은 Reserch에서 리서치로 바꾸려고 시도할 경우에도  이 폴더를 다른 경로에서 사용중이라는 메시지가 뜨고 변경이 안되는 현상도 발생합니다. 즉 컴퓨터 자체에서는 이 폴더를 읽은 것으로 판단됩니다. 기존의 매크로가 영향을 미치는 것은 아닌지 ......... 다시 한번 검토 바랍니다.

    2011년 8월 26일 금요일 오전 2:16
  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

     

    1.     폴더명 변경 문제

     

    네 언급하신되로 그 폴더를 다른 프로세스에서 사용중 입니다.

    그 폴더를 사용하는 프로세스를 찾을 수 있는 프로그램이 있습니다.

    그 프로그램을 검색을 하신 후 다운 받아서 확인 후 그 프로세스 종료 후 폴더 명을 변경하시기 바랍니다.

     

    2.     정확히 변경된 매크로를 실행했는지 확인

     

    a.     엑셀2010기준으로 설명을 합니다.

     

    b.     엑셀 Developer리본으로 이동합니다.

     

    c.     리본 메뉴에 있는 VisualBasic아이콘을 클릭 후 해당 Script에 브레이크 포인트를 설정합니다.

     

    d.     다시 엑셀로 돌아와서 Macros아이콘을 클릭합니다.

     

    e.     변경한 함수를 선택 후 Run을 클릭 후 변경된 함수에서 중지가 되는지 확인합니다.

      

    문제를 해결 하기위해서 천천히 하나 씩 점검해 볼 필요가 있다고 생각합니다.

     

    하나씩 확인하는게 불편하시더라고 천천히 진행하시기 바랍니다.

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    2011년 8월 26일 금요일 오전 2:26
    중재자
  • 상기 답변 중

    폴더명 변경 문제는 해결하였습니다.

    2번 답변 내용은 이해를 하지 못하겠습니다.

    Access에서 Excel 파일을 업데이트 하는 Macro와 관련된 질문인데

    엑셀 VB창에서 어떤 Macro를 Run하라는 것인지 모르겠습니다.

    빠른 답변 감사합니다.

     

    2011년 8월 26일 금요일 오전 2:50
  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

     

    다시 설명을 드리겠습니다.

     

    1.     Excel 2010에서 1번 리본으로 이동을 합니다.

     

    2.     1번을 실행 후 2번을 클릭 해서 Script창을 실행합니다.

    3.     아래와 같이 해당 라인에 F9을 눌러 Break Point를 설정합니다.

     

    4.     다시 Excel2010으로 되돌아와서 3번을 클릭해서 해당 함수를 실행합니다.

    5.     정확히 변경된 Script를 실행하는지 확인합니다.

      

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.


    2011년 8월 26일 금요일 오전 4:11
    중재자
  • 실행화면입니다.

    해석이 안되서요...

    감사합니다!!!


    2011년 8월 26일 금요일 오전 4:52
  •  

    안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    . 위의 스텝에서 더 설명을 드리겠습니다

     

    1.     CurrentProject.Connection.Execute 라인에 Break Point(F9)도 설정을 합니다.

     

    2.     Break Point작동된 상태에서 위의 아이콘 메뉴중에 > 화살표 아이콘이 있습니다.

     

    3.     그 아이콘을 클릭 후 에러가 발생하는지 확인합니다.

     

    위의 스텝에서 에러가 발생하지 않았다면 질문자님이 사용하신 메크로 실행 방법이 정확히 변경된 스크립트 지정이 되지 않은 경우로 생각이 됩니다.

     

    ,만약 에러가 발생한다면   

      경로가 존재하는지,

    파일이 존재하는지,

    파일이 올바른지,

    Script에서 그 파일에 접근할 수 있는 권한이 있는지

    확인하시기 바랍니다.

     

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    2011년 8월 26일 금요일 오전 5:02
    중재자
  • 아래 화면과 같은 결과가 나오네요 연결이 된 것 같은데...

    다음에 무엇을 해야 하는지요?

    2011년 8월 26일 금요일 오전 5:22
  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    제가 위에서 언급했던 경우의 수 중에 첫번째에 해당하는 시나리오 입니다.

     

    현재 Script에서는 설정한 경로에서 정확히 파일스트림을 제공받았습니다.

     

     

    , 다시 질문자님 처음 질문으로 돌와가서

     

    경로가 매크로에 기록된 ('C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm')대로 실행되지 않고 이 경로('C:\Users\경ㅂ\Documents\선물일봉.xlsm')로 실행되는 이유를 알고 싶습니다.“ 에 대한 문제의 핵심은

     

    현재 변경된 매크로(경로설정을 변경한)를 실행 한 것이 아니라 기존에 작성되어 있는 매크로가 실행된 경우라고 생각이 됩니다.

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

     

    2011년 8월 26일 금요일 오전 5:29
    중재자
  • 오늘 지속적인 답변 매우 감사합니다.

    제가 이를 해결하기 위해서는 어떤 조치을 취해야 하나요

    왜 내가 실행한 매크로가 아닌 기존의 다른 매크로를를 참조하여 실행되는지 그 원인을 알아야 할 것 같은데요...

    Command2를  Command_선물일봉으로 변경하여  실행하였으나 마찬가지 에러가 발생합니다.

    2011년 8월 26일 금요일 오전 5:53
  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    정확히 매크로를 사용했던 방법을 설명해주시면 답변 작성에 도움이 되겠습니다.

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    2011년 8월 26일 금요일 오전 6:49
    중재자
  • Private Sub Command2_Click()


    Dim xlObject As Object
    Dim strFile As String

    On Error GoTo 오류처리

    'Excel 파일 선택

    Set xlObject = GetObject("C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm")
    strFile = xlObject.Name
    '임시 테이블로 가져오기
    '임시 테이블 데이터 삭제
    CurrentProject.Connection.Execute "DELETE * FROM [t_선물일봉_임시]"

    '임시 테이블로 가져오기
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "t_선물일봉_임시", strFile, True

    DoCmd.OpenQuery "q_선물일봉_추가실행"
    '메시지 표시
    MsgBox "데이터를 가져왔습니다."
    Exit Sub

    오류처리:
    MsgBox Err.Description & vbNewLine & Err.Number
    End Sub

    처음으로 돌아가서 상기 매크로가 문법상에 문제가 없는데 왜 제대로 작동이 되지 않고 에러가 발생하는지에 대한 문제해결 방법입니다.

    엉뚱한( Microsoft Access 데이터베이스 엔진에서 'C:\Users\경ㅂ\Documents\선물일봉.xlsm'개체를 찾을 수 없습니다.) 경로 에러가 발생하는지....

    2011년 8월 26일 금요일 오전 7:08
  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    제 생각에는

     

    Set xlObject = GetObject("C:\Users\경ㅂ\Documents\리서치\선물일봉.xlsm")

    로 작성된 매크로가 실행 되지 않고

     

    Set xlObject = GetObject("C:\Users\경ㅂ\Documents\선물일봉.xlsm")

    이렇게 작성된 매크로가 실행이 되었다고 생각이 됩니다.

     

    지금 현제 질문자님이 어떤 방식으로 매크로를 호출해서 사용하는지 확인하시기 바랍니다.

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

     

    2011년 8월 26일 금요일 오전 7:31
    중재자
  • 샘플 파일을 만들어서 실행해도 같은 결과가 나오네요.

    샘플파일을 보내면 검토해 주실 수 있나요?


    2011년 8월 26일 금요일 오전 9:43
  • 안녕하십니까? 비케이 님

    Microsoft MSDN Forum 사이트를 방문해 주셔서 감사합니다.

     

    샘플 파일 검토는 지원범위에 포함되지 않습니다.

     

    매크로 버튼 실행 방법에 대한 확인 사항입니다.

     

    1.     시트위에 있는 버튼을 우 클릭 후 Assign Macro를 실행합니다.

     

    2.     정확히 변경된 Script로 설정이 되어 있는지 확인합니다.

     

     

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    2011년 8월 29일 월요일 오전 1:46
    중재자
  • 안녕하세요 비케이님.

    제 생각에도 한글 경로 문제인것 같으나, 다른 방법을 제시해 드릴려고 합니다.

    Windwos Vista 이후 부터 사용자 계정컨트롤로 인한 권한 문제가 종종 생기곤 합니다.

     

    정확한 원인을 파악해서 해결하는것이 가장 중요하나, 개인PC 에서 테스트 프로그램인 경우 가장 빠른 해결방법은 사용자계정컨트롤 사용안함 설정입니다.

    [제어판]-[계정]-[사용자 계정컨트롤 설정] 에서 가장 낮게 또는 사용안함으로 설정해 보시는건 어떨까요?


    moonhyuk choi
    2011년 11월 7일 월요일 오전 7:07