2014-02-19 4 views

답변

0

하면 도움이 될

Dim nom_fichier as workbook 

그 다음은

set nom_fichier = workbooks.open 

또한 다음 줄이 개체 변수

if nom_fichier = false then 

작동하지 않을 설정 set를 사용 너 대구를 걷다. e, Workbooks.Open()은 부울 변수를 반환하지 않고 Excel.Workbook 개체에 대한 참조를 반환합니다.

당신의 문이 경우 False에 대한 Nothing하지 테스트로 변경해야합니다

if nom_fichier Is Nothing Then 
    copie_sd = "ERREUR" 
    Exit Function 
End If 

또 다른 한가지 : 는 'ERREUR'는 A1 셀로 인쇄 할 당신이 하시겠습니까?
그래, 당신은 당신이 필요로하는 모든

Function copie_sd(ByVal fn as String) as Boolean 
    copie_sd = False 
    Dim sd as Workbook  
    Set sd = Workbooks.Open(Filename:=fn) 
    If Not sd Is Nothing 
     copie_sd = True 
    End If  
End Function 

입니다

Range("A1").Value = "ERREUR" 
+0

에는, UDF 함수로 사용해야합니다. 부작용이 없어야합니다. – ja72

0

전화 그리고 셀에 쓸 수 없습니다

If copie_sd("C:\SD\copie_sd.xls") then 
    ' Other things to happen after open 
End If