リッチテキスト型セルを設定したセルに改行を含むリッチテキストを設定してPrintInfoクラスのBestFitColsプロパティをTrueにすると、改行コードの数に応じて列幅が広がって印刷される

文書番号 : 39245     文書種別 : 不具合     登録日 : 2016/01/20     最終更新日 : 2016/02/12
文書を印刷する
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
リッチテキスト型セルを設定したセルに改行を含むリッチテキストを設定してPrintInfoクラスのBestFitColsプロパティをTrueにすると、改行コードの数に応じて列幅が広がって印刷されます。
 
【手順】
1.新規フォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.Buttonをクリックします
   --改行を含むB列の列幅がA列よりも広がります

【サンプルコード】
  Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    ' SPREADの設定
    Dim ctText As New FarPoint.Win.Spread.CellType.RichTextCellType()
    ctText.Multiline = True
    FpSpread1.ActiveSheet.Columns(0).CellType = ctText
    FpSpread1.ActiveSheet.Columns(1).CellType = ctText

    Dim strRtf As String = Nothing
    ' リッチテキスト文字列
    ' 改行コード0個
    Using rtbTemp As New RichTextBox()
      rtbTemp.Text = "test"
      strRtf = rtbTemp.Rtf
    End Using
    FpSpread1.ActiveSheet.Cells(0, 0).Value = strRtf

    ' 改行コード10個
    Using rtbTemp As New RichTextBox()
      rtbTemp.Text = "test"
      For i As Integer = 1 To 10
        rtbTemp.Text += System.Environment.NewLine + "test"
      Next
      strRtf = rtbTemp.Rtf
    End Using
    FpSpread1.ActiveSheet.Cells(0, 1).Value = strRtf
  End Sub

  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    ' 印刷
    Dim pi As New FarPoint.Win.Spread.PrintInfo()
    pi.BestFitCols = True
    pi.BestFitRows = True
    pi.Preview = True
    FpSpread1.ActiveSheet.PrintInfo = pi
    FpSpread1.PrintSheet(FpSpread1.ActiveSheetIndex)
  End Sub
回避方法
Service Pack 6(v7.0.2019.2008)で修正済み。