2

私が持っているコードの問題は、ワークブック内のすべてのワークシートのすべてのページを保存するか、「from」および「to」引数で指定された範囲のページのみを保存することです。

私が使用しているExcelファイルには7つのワークシートがあり、各ワークシートには任意のページ数を含めることができます。たとえば、「1から4」をエクスポートするように指定した場合、最初の4つのワークシートのすべてのページではなく、最初のワークシートの最初の4ページのみがPDFドキュメントとしてエクスポートされます。

誰かが私がやろうとしていることを達成する方法を教えてもらえますか?以下のコードは私が望むものではありません:

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

3 に答える 3

2

複数のシートを選択して使用する場合はActiveSheet.ExportAsFixedFormat、(選択した各シートに印刷領域が設定されている限り)希望どおりに機能すると思います。

それらの線に沿った生の記録されたマクロ:

    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
于 2012-08-06T22:41:37.150 に答える
0

答えは次のとおりです: ActiveSheet.PageSetup.Pages.Count

于 2012-08-08T18:45:58.903 に答える
-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
于 2012-08-06T20:40:26.877 に答える