2012-01-23 3 views
0

PDF 파일을 자동으로 만들려고합니다 (엑셀 파일 내의 버튼을 클릭하는 것 외에는 사용자 인터페이스없이) . 나는 아래 코드를 사용하여 모든 것을 올바르게 얻었지만 자동 생성 된 이름으로 파일을 저장할 때 코드가 사용자를 멈춘 것처럼 보이고 코드에서 자동으로 파일을 가져 오는 대신 파일 이름을 입력하라는 메시지를 표시합니다.). 나는 sendkeys가 나를 위해 운동하지 않는다는 느낌이 들었다. 누구든지 빨리 살펴볼 수 있습니까?마지막 단계에서 멈춤 (Sendkeys를 사용하여 파일로 자동 저장) msExcel 2003

감사 macutan

Sub PrinttoPDFTest()

ActiveSheet.PageSetup.PrintArea = "$A$1:$F$17" 
With ActiveSheet.PageSetup 
    .PrintTitleRows = "" 
    .PrintTitleColumns = "" 
End With 
ActiveSheet.PageSetup.PrintArea = "$A$1:$F$17" 
With ActiveSheet.PageSetup 
    .Orientation = xlLandscape 
    .FitToPagesWide = 1 
    .FitToPagesTall = 1 
End With 

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Adobe PDF on Ne04:", Collate:=True 

newHour = Hour(Now()) 
newMinute = Minute(Now()) 
newSecond = Second(Now()) + 5 
waitTime = TimeSerial(newHour, newMinute, newSecond) 
Application.Wait waitTime 

Filename = "C:\Temp\PDF\" & ActiveSheet.Range("DateSerial").Value & ".pdf" 

SendKeys Filename & "{Enter}", False 

End Sub 

+1

여기를보세요 : [ozgrid] (http://www.ozgrid.com/forum/showthread.php?t=25773) – Reafidy

+0

감사 Reafidy,이 일 ! 감사! – macutan

+0

알겠습니다. 답변으로 게시되었습니다. 감사. – Reafidy

답변

0

여기 찾아 보게한다 : Ozgrid Print to PDF

+0

사실,이 파일을 사용할 모든 사람이 Distiller를 가지고있는 것은 아닙니다. SendKeys가 저장 대화 상자에서 작동하지 않는 이유에 대한 단서가 있습니까? – macutan

5

오히려 .PrintOut보다 .ExportAsFixedFormat를 사용하는 간단하고, 당신의 요청을 쌓을 것을 (지연 코드가 필요하지 않습니다) :

Sub ExporttoPDF() 

    Sheets("Sheet1").ExportAsFixedFormat xlTypePDF, "C:\Folder\Filename1.pdf" 
    Sheets("Sheet2").ExportAsFixedFormat xlTypePDF, "C:\Folder\Filename2.pdf" 

End Sub 

대상 및 파일 이름을 바꿔서이 대구 전자는 잘 작동해야합니다.

Sheets("Sheet1").ExportAsFixedFormat xlTypePDF, "C:\Folder\" & Range("P10").Value & ".pdf" 

을 또는 변수에 파일 이름을 저장하고이 방법을 수행합니다 : 당신은 파일 이름의 한 부분으로 시트의 값을 사용하려는 경우, 당신은 다음과 같이 (&)를 연결할 수 있습니다

dim filename as string 

filename = Range("P10").Value 

Sheets("Sheet1").ExportAsFixedFormat xlTypePDF, filename 

그리고 그것은 계속적으로 간다 ...

+0

이 Rob 감사합니다, 난 그냥 코드를 테스트하고 있었는데 : 런타임 오류 '438': 개체가이 속성 또는 메서드를 지원하지 않습니다. 내가 사용해야하는 참조의 이름은 무엇입니까? thx – macutan

+0

ExportAsFixedFormat을 사용하면 PDF로 인쇄 할 때 필요한 마지막 단계를 피할 수 있습니다. 그러나 수출 PDF는 인쇄로 작성된 PDF 크기의 4 배입니다. PDF로 인쇄 할 때 PDF 파일로 저장할 때 22kp의 파일 크기를 얻습니다. 나는 84 가지를 얻습니다. 우리가 첨부 한 sice는 PDF의 많은 부분을 전자 메일로 보내므로 그 차이로 인해 이메일이 커질 수 있습니다. – user2888068

관련 문제