Skip to content

Instantly share code, notes, and snippets.

@milk19873
Created September 4, 2017 09:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save milk19873/9aad21b5ae6c858808b544a13de83208 to your computer and use it in GitHub Desktop.
Save milk19873/9aad21b5ae6c858808b544a13de83208 to your computer and use it in GitHub Desktop.
ボタンクリックによるPDF出力例2
public partial class Form1 : Form
{
private Excel.Application PDFExcel;
private Excel.Workbook PDFWorkbook;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//実際にインスタンス生成を行います
PDFExcel = new Excel.Application();
// ウィンドウは非表示にします。
PDFExcel.Visible = false;
//Excelファイルをオープンします
PDFWorkbook = (Excel.Workbook)(PDFExcel.Workbooks.Open(
@"C:\test\TestExcelBook.xlsx"//PDF化するExcelファイルのパスを指定します
));
//一時的なブックを作成し、アプリケーションのブックの管理に追加します
Excel.Workbook TmpWorkbook = this.PDFExcel.Workbooks.Add();
//シートの1番目を取得してコピーを一時的なブックの最後尾のシートとして追加します
Excel.Worksheet copysheet = (Excel.Worksheet)PDFWorkbook.Sheets[1];
copysheet.Copy(TmpWorkbook.Worksheets[TmpWorkbook.Worksheets.Count]);
//シートの2番目を取得してコピーを一時的なブックの最後尾のシートとして追加します
Excel.Worksheet copysheet2 = (Excel.Worksheet)PDFWorkbook.Sheets[2];
copysheet2.Copy(TmpWorkbook.Worksheets[TmpWorkbook.Worksheets.Count]);
//一時的なブックで、シートを全て選択した状態にします
TmpWorkbook.Worksheets.Select();
//一時的なブックをPDFとして出力します
TmpWorkbook.ExportAsFixedFormat(
Excel.XlFixedFormatType.xlTypePDF,
@"C:\test\TestExcelBook2.pdf",//PDFファイルの出力パスを指定します
Excel.XlFixedFormatQuality.xlQualityStandard //出力のクオリティ
);
//一時的なブックをクローズします
TmpWorkbook.Close(
false, //変更を無視してクローズを指定
Type.Missing,
Type.Missing
);
//ブックをクローズします
PDFWorkbook.Close();
//アプリケーションを終了します
PDFExcel.Quit();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment