2012-08-06 2 views
2

내가 가진 코드 문제는 통합 문서의 모든 워크 시트에 모든 페이지를 저장하거나 "보낸 사람"및 "받는 사람"인수로 지정된 범위의 페이지 만 저장한다는 것입니다.Excel 통합 문서를 PDF 파일로 저장하거나 내보내는 방법을 "공유"하는 방법은 무엇입니까?

내가 작업하고있는 Excel 파일에는 7 개의 워크 시트가 있으며 각 워크 시트에는 모든 페이지가있을 수 있습니다. 예를 들어 "1에서 4로"를 내보내라고 지정하면 첫 번째 워크 시트의 처음 4 페이지 만이 처음 4 개의 워크 시트의 모든 페이지가 아닌 PDF 문서로 내보내집니다.

누군가가 내가하려는 일을 성취하는 방법을 말해 줄 수 있습니까? 당신이 후 ActiveSheet.ExportAsFixedFormat를 사용하는 경우 시트의 쉼표로 구분 된 목록에 전달하여

application.ActiveWorkbook.ExportAsFixedFormat(
     Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, 
     path, 
     Excel.XlFixedFormatQuality.xlQualityStandard, 
     true, 
     true, 
     1, 
     4, 
     false, 
     Missing.Value); 

답변

0

는 대답 : ActiveSheet.PageSetup.Pages.Count

-1
Public Sub Export(ParamArray ToPrint() As Variant) 

'hide all sheets 
For Each Sheet In ActiveWorkbook.Sheets 

    Sheet.Hide 

Next Sheet 

'unhide sheets to print 
For Each pageNo In ToPrint 

ActiveWorkbook.Sheets(pageNo).Show 

Next pageNo 

'do the export 
    Worksheet.ExportAsFixedFormat _ 
     Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, _ 
     Path, _ 
     Excel.XlFixedFormatQuality.xlQualityStandard, _ 
     True, _ 
     True, _ 
     Nothing, _ 
     Nothing, _ 
     False, _ 
     Missing.Value 

'unhide all sheets 
For Each Sheet In ActiveWorkbook.Sheets 

    Sheet.Show 

Next Sheet 

종료 하위

전화는

Export 1, 2, 4 
+0

전략의 문제는이를 덮어마다 ExportAsFixedFormat은()가 호출 될 것입니다 PDF 파일. 즉, 시트가 PDF 파일에 추가되지 않습니다. 대신 루프가 반복 될 때마다 하나의 워크 시트로 구성된 새로운 PDF 파일이 작성됩니다. 모든 결과 PDF 파일을 병합하는 방법을 찾는 것이 가능할 것이라고 확신하지만, 조금 어색함이 있습니다. Excel API를 사용하여이 작업을 수행 할 수 있습니까? (또한 Excel() 메서드를 호출하여 Excel 파일에서 원하지 않는 워크 시트를 삭제할 생각을했는데 아무 것도 변경하지 않았습니다.) –

+0

그래, 무슨 뜻인지 알 것 같아. 당신은 수출 1 t0 4를 말하고 얼마나 많은 페이지를 가지고 있든 상관없이 시트 1에서 4까지를 수출합니까? – Stuart

2

수출 : 아래의 코드는 내가 원하는 것이 아니다 여러 시트 선택하기 원하는 인쇄 작업을 수행 할 것이라고 생각합니다 (선택한 인쇄 시트 각각에 인쇄 영역이 설정되어있는 한).

은 그 라인을 따라 원시 기록 된 매크로 : 여기

Sheets(Array("Sheet1", "Sheet2")).Select 

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
    "C:\Documents and Settings\yourusername\Desktop\Book1.pdf", _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= False 
+0

이봐, 너는 생명의 은인이야, 몇 시간 씩 붙어 있었어. –