2016-12-02 1 views
0

나는 다음과 같은 코드를 가지고 있지만, 그것은에서 런타임 오류 "438"제공 : 나는런타임 오류 438와 .printout

MsgBox wdRng 

는 않습니다이를 변경하는 경우

wdRng.PrintOut 

을 MsgBox에 선택 항목을 지정합니다. 그래서 뭔가 PrintOut 메서드가 잘못되었습니다. 누구든지 잘못된 제안이 있습니까? MS Word에서 Range object위한 .Printout 방법 어디에도 없습니다

Dim i As Long, wdApp As Object, wdDoc As Object, wdRng As Object 

Set wdApp = CreateObject("Word.Application") 
With wdApp 
    .Visible = True 
    For i = 1 To 200 
Set wdDoc = .Documents.Open("\\path\Machine\Results" & i & ".doc", False, True, False) 
With wdDoc 
    Set wdRng = .Range(0, 0) 
    With .Range 
     With .Find 
      .Text = "END" 
      .Forward = True 
      .MatchWholeWord = True 
      .MatchCase = True 
      .Execute 
      End With 
      If .Find.found = True Then 
      wdRng.End = .Duplicate.Start 
      wdRng.PrintOut 
     End If 
     End With 
     .Close False 
    End With 
    Next 
    .Quit 
End With 
Set wdRng = Nothing: Set wdDoc = Nothing: Set wdApp = Nothing 

답변

0

.

wdRng.Printout 대신이 논리를보십시오 :

wdRng.Select 
wdApp.PrintOut ,,WdPrintOutRange.wdPrintSelection 

또는 wdDoc.PrintOut을, WdPrintOutRange.wdPrintSelection을

편집 - .PrintOut 이러한 라인 중 하나를 시도해보십시오

wdDoc.PrintOut , , 1 
wdApp.PrintOut ,, 1 
+0

선택을 .printout 메쏘드에서 에러가 발생합니다. 런타임 오류 "424". 나는 그저 똑바로 사본을 붙여 넣었는데, 어디서 잘못 됐는지 생각해? – Mick17

+0

매우 이상한 ...'wdApp.Printout' 라인 대신'wdDoc.PrintOut,, WdPrintOutRange.wdPrintSelection'을 시도하십시오. –

+0

여전히 같은 오류입니다. 나는 사무실 2013과 함께 일하는데 차이가있을 수 있습니까 ??. 둘째, wdDoc.Printout과 같은 것일 수 있습니다. 범위 : = wdRng – Mick17