プリンタがインストールされていない環境でPDF出力を行うとArgumentExceptionの例外が発生する
対象製品
SPREAD for Windows Forms 8.0J
状況
修正済み
詳細
プリンタがインストールされていない環境でPDF出力を行うとArgumentExceptionの例外が発生します。
■再現手順
1.実行環境のプリンタをすべて削除します
2.新規にExcelファイルを作成します
3.セルA1に「abc」と入力しExcelをアプリケーションフォルダに保存します
4.サンプルコードをコピーしアプリケーションを実行します
5.Button1をクリックします
-- 例外(System.ArgumentException)が発生します
■サンプルコード(VB.NET)
■再現手順
1.実行環境のプリンタをすべて削除します
2.新規にExcelファイルを作成します
3.セルA1に「abc」と入力しExcelをアプリケーションフォルダに保存します
4.サンプルコードをコピーしアプリケーションを実行します
5.Button1をクリックします
-- 例外(System.ArgumentException)が発生します
■サンプルコード(VB.NET)
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
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 6(v8.0.3511.2008)で修正済み。
Service Pack を適用せずに対処する方法としては、FpSpreadクラスのAllowCellOverflowプロパティをFalseに設定する方法が有効です。
■サンプルコード(VB.NET)
Service Pack を適用せずに対処する方法としては、FpSpreadクラスのAllowCellOverflowプロパティをFalseに設定する方法が有効です。
■サンプルコード(VB.NET)
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
' 回避策
FpSpread1.AllowCellOverflow = False
FpSpread1.ActiveSheet.PrintInfo.PdfFileName = "test.pdf"
FpSpread1.ActiveSheet.PrintInfo.PrintToPdf = True
FpSpread1.PrintSheet(0, False)
End Sub