2016-11-16 22 views
1

VB6에서 프린터 개체를 만드는 동안 문제가 있습니다. 기본적으로 인쇄 작업을 수행 할 올바른 용지함을 설정할 수 있도록 프린터 개체를 만들어야합니다.VB에서 Printer 개체를 만드는 방법

나와 함께 프린터 이름이 있습니다.

온라인에서 찾을 수있는 모든 코드에는 사용 가능한 모든 프린터를 반복하고 프린터 이름과 일치하는 코드가 있습니다.

프린터 이름에서 직접 프린터 개체 prn을 만들 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

+0

VB 6 또는 VBA - 어느 것입니까 –

+0

IDE를 언급하면 ​​VB 6입니다. – varuog

+0

왜 VBA 태그입니까? –

답변

2

수 없습니다. VB6 프린터 컬렉션은 인덱스가 아닌 이름으로 액세스됩니다. Visual Studio 6 Printer Object, Printers Collection을 참조하십시오.

그래서 원하는 프린터 컬렉션을 검색해야합니다. 예를 들어 :

Private Function FindPrinter(PrinterName As String) As Printer 
    Dim i As Integer 
    For i = 0 To Printers.Count - 1 
    If Printers(i).DeviceName = PrinterName Then 
     Set FindPrinter = Printers(i) 
     Exit For 
    End If 
    Next i 
    Exit Function 
End Function 

위의 당신이 찾고있는 프린터가 컬렉션에없는 상황을 처리하지 않습니다. 당신은 그 조건을 커버하기위한 논리를 추가하기를 원할 것입니다. 당신이하고자하는 것은 특정 태스크와 요구 사항에 따라 다릅니다. 이 예제는 대소 문자를 구별하는 이름 검색이기도하므로 명심하십시오.

+0

답장을 보내 주셔서 감사합니다. 내가 언급 한 코드는 현재 응용 프로그램에서 사용하고 있습니다. 그러나 프린터 수가 많으면 (2500+) 매우 느려지는 경향이 있습니다. 그래서 해결 방법을 찾고있었습니다. – varuog

+0

프린터를 전환하는 경우가 아니면 매번 Printers 컬렉션을 검색 할 필요가 없습니다. 응용 프로그램 시작 (또는 사용자 선택 등)에서 검색 한 다음 사용중인 프린터 객체에 대한 참조를 유지합니다. 프린터 컬렉션을 검색 할 때의 성능에 대해서는별로 관심이 없습니다. – MarkL