2011-09-28 2 views
0

다음 정보를 붙여 넣을 수 있도록 통합 문서의 통합 문서를 열어야하는 다음 코드가 있습니다. 나중에 데이터베이스에서 검색 할 것입니다. 매회 이라는 제목의 오류 메시지가 나타납니다. 통합 문서를 열려고합니다. 전에 아무 문제없이 비슷한 코드를 사용했습니다. 파일은 내 바탕 화면과 떨어진 서버에 보관되지만 경로는 매번 정확합니다. 나는 계속해서 다시 점검했다. 범인은 무엇일까요? 매크로에서 VBA 열기 통합 문서를 찾을 수 없습니다 "(경로 및 파일 이름) 맞춤법 검사 ..."

Sub copyDealerDataToWorkbook(ByVal targetID As Integer) 

    Dim mainWB  As Workbook  
    Dim directory As String 
    Dim fn   As String 
    Dim aFile  As Excel.Application 

    Set aFile = CreateObject("Excel.Application") 

    Set mainWB = ActiveWorkbook 
    directory = ActiveWorkbook.Path 

    'append a "\" 
    If InStrRev(directory, "\") < Len(directory) Then 
     directory = directory & "\" 
    End If 

    fn = targetID & ".xls" 

    aFile.Application.Visible = True 
    aFile.Workbooks.Open directory & fn 'ERROR ON THIS LINE 
    aFile.Parent.Windows(1).Visible = True 
End Sub 

은 또한 다음 코드 ... 파일의 이름과 테스트와

Sub copyDealerDataToWorkbook(ByVal targetID As Integer) 
    Dim foreignWB As Workbook 
    Dim mainWB  As Workbook 
    Dim directory As String 
    Dim fn   As String 

    Set mainWB = ActiveWorkbook 
    directory = ActiveWorkbook.Path 

    'append a "\" 
    If InStrRev(directory, "\") < Len(directory) Then 
     directory = directory & "\" 
    End If 

    fn = targetID & ".xls" 

    Set foreignWB = Workbooks.Open(fileName:=directory & fn) 'ERROR ON THIS LINE 
End Sub 
+0

먼저 변수 선언에
이 있습니까? 둘째, 디렉토리 문자열이 무엇을 반환하는지 말해 줄 수 있습니까? – TheFuzzyGiggler

+0

물론 ... 첫 번째 게시물을 용서하십시오. 디렉토리 문자열 퇴각 "\\ Oesdfiles \ Users \ FName LName \ Reports \ test_data \ monthly EDS 보고서 \ 딜러 별 수입원 \ test_2011 \ 2011-01January"Application.FileSearch를 실행하고 해당 디렉토리 및 파일 이름 조합으로 파일을 찾을 수도 있습니다 ... 그래서 나는 정말 실망했습니다. – whitaay

+0

어떤 Excel 버전을 사용하고 있습니까? 확장 프로그램이 ".xls"입니까? –

답변

0

먼저 사용 하드 코드 열려있는 경우를 시도했다. 샘플

예, 디렉토리 또는 FN VAR이 잘못되면
Workbooks.open "\\Oesdfiles\Users\FName LName\Reports\test_data\monthly EDS reports\Number by dealer Per importer\test_2011\2011-01January\YourFileHere.xls" 

를 들어

.

는 아니, 사무실 버튼 진단 사용 사무실을 시도/

그리고 다시 시도 옵션/자원 /가 진단 탁월합니다.

작동하지 않는 경우 Excel을 다시 설치해야합니다.

[]의

0
If Dir(directory & fn) <> "" Then 
    'do the magic 
Else 
    MsgBox "Directory and file not found:" & vbCrLf & directory & fn, vbCritical, "Invalid Directory" 
End If 
0
targetID As Integer 

에만 이렇게 엑셀 통합 선도 제로없이 숫자 파일명 경우. 또한, 이러한 맥락에서 당신은 반복 또는 값에 계산을 수행되지 않기 때문에 정수를 TARGETID 만들 필요가 없습니다, 내가 대신 그것을 만들 것입니다 :

targetID As String 

편집 : 난 그냥이 2 년 전에 게시했습니다 실현 . : P

관련 문제