プリンタがインストールされていない環境でPDF出力を行うとArgumentExceptionの例外が発生する

文書番号 : 41370     文書種別 : 既知の問題     登録日 : 2017/10/04     最終更新日 : 2017/12/22
文書を印刷する
対象製品
SPREAD for Windows Forms 10.0J
ステータス
修正済み
詳細
プリンタがインストールされていない環境でPDF出力を行うとArgumentExceptionの例外が発生します。

【再現手順】
1.実行環境のプリンタをすべて削除します
2.新規にExcelファイルを作成します
3.セルA1に「abc」と入力しExcelをアプリケーションフォルダに保存します
4.サンプルコードをコピーしアプリケーションを実行します
5.Button1をクリックします
 -- 例外(System.ArgumentException​)が発生します

【サンプルコード】​
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  FpSpread1.OpenExcel("..¥..¥Book1.xlsx")
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  FpSpread1.ActiveSheet.PrintInfo.PdfFileName = "test.pdf"
  FpSpread1.ActiveSheet.PrintInfo.PrintToPdf = True
  FpSpread1.PrintSheet(0, False)
End Sub
回避方法
Service Pack 2(v10.0.4006.2012)で修正済み。
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------

AllowCellOverflowプロパティをFalseに設定します。

【サンプルコード】​
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  ' 回避策
  FpSpread1.AllowCellOverflow = False

  FpSpread1.ActiveSheet.PrintInfo.PdfFileName = "test.pdf"
  FpSpread1.ActiveSheet.PrintInfo.PrintToPdf = True
  FpSpread1.PrintSheet(0, False)
End Sub