2008-11-11 6 views
1

나는 파일엑셀 파일에 액세스하는 방법

  Dim objexcel As Excel.Application 
        Dim wbexcel As Excel.Workbook 
        Dim wbExists As Boolean 
        Set objexcel = CreateObject("excel.Application") 
        objexcel.Visible = True 
        On Error GoTo Openwb 
        wbExists = False 
        Set wbexcel = objexcel.Documents.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\ERROR REPORT2.xls") 
        wbExists = True 
Openwb: 

        On Error GoTo 0 
        If Not wbExists Then 
        Set wbexcel = objexcel.Workbook.Add 
        End If 

하지만 라인에서 속성 또는 메서드를 지원하지 않는 런타임 오류 객체를 얻고있다

Set wbexcel = objexcel.Workbook.Add 

I 엑셀에 데이터를 기록하려면 다음 코드를 사용하는 것을 시도하고있다 Excel 개체 라이브러리를 참조했다.

답변

6

당신이 줄 변경해야합니다 :

Set wbexcel = objexcel.WorkBooks.Open(_ 
    "C:\Documents and Settings\TAYYAPP\Desktop\test folder\ERROR REPORT2.xls")  

참고 통합 문서가 아닌 문서이 라인에 관해서는

을 설정 wbexcel = objexcel.Workbook.Add, wbexcel 통합 문서로 정의되어 있지만 라인은 그래서 작업입니다 :

objexcel.Workbooks.Add 
Set wbexcel = objexcel.ActiveWorkbook 

이 편집 : 여담으로 , DoCmd.Transferspreadsheet 아마 데이터 세트를 전송하는 가장 쉬운 방법 (쿼리입니다, 표)를 Excel에서 Access로 가져옵니다.

+0

덕분에 덮어 쓰기됩니다 다음 wbexcel.insert "데이터" 이 구문 다음 확인 – tksy

+0

은 http://msdn.microsoft 언어 참조입니다 .com/en-us/library/aa220733 (office.11) .aspx. 매크로를 기록하고 생성 된 코드로 안내 할 수 있다는 것을 잊지 마십시오. – Fionnuala

+1

@tksy - 답변을 투표하는 방법에 대해!? –

0

나는

Dim objexcel As Excel.Application 
        Dim wbexcel As Excel.Workbook 
        Dim wbExists As Boolean 
        Dim objSht As Excel.Worksheet 
        Dim objRange As Excel.Range 


        Set objexcel = CreateObject("excel.Application") 
        objexcel.Visible = True 
        On Error GoTo Openwb 
        wbExists = False 
        Set wbexcel = objexcel.Workbooks.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\reports\ERROR REPORT2.xls") 
        Set objSht = wbexcel.Worksheets("Sheet1") 
        objSht.Activate 
        wbExists = True 
Openwb: 

        On Error GoTo 0 
        If Not wbExists Then 
        objexcel.Workbooks.Add 
        Set wbexcel = objexcel.ActiveWorkbook 
        Set objSht = wbexcel.Worksheets("Sheet1") 

        End If 

잘 작동이 코드를 가지고 있지만 파일이 존재하는 경우, 나는 그것의 값으로 채워되어 있는지 확인하도록 한 번 더 검사를 추가 할 내가 원하는 그럼 경우 끝에서 채울 값의 다음 세트. 지금 현재로는 기존 값을 데이터를 기록 또한 일을했다

관련 문제