作成日: 2019/11/13 最終更新日: 2021/05/26
文書種別
不具合
発生環境
SPREAD for Windows Forms 11.0J
状況
修正済み
詳細
コントロールに追加されたシートのReferenceStyleを設定するのではなく、ReferenceStyleが設定されたシートを後からコントロールに追加した場合、本来のReferenceStyleの数式が正しく処理できない状態になります。この状態で正しいスタイルの数式を使用してもエラー(#NAME?)となる場合があります。
【再現手順】
1.新規作成したプロジェクトのForm1にFpSpreadを貼り付け、下記のサンプルコードを記載します。
2.プロジェクトを実行するとA4セルの数式がエラーになります。
■サンプルコード(VB.NET)
【再現手順】
1.新規作成したプロジェクトのForm1にFpSpreadを貼り付け、下記のサンプルコードを記載します。
2.プロジェクトを実行するとA4セルの数式がエラーになります。
■サンプルコード(VB.NET)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Text = FpSpread1.ProductVersion
FpSpread1.ActiveSheet.SetValue(0, 0, 55)
FpSpread1.ActiveSheet.SetValue(1, 0, 66)
FpSpread1.ActiveSheet.SetValue(2, 0, 77)
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
Dim A1Sheet As New FarPoint.Win.Spread.SheetView
A1Sheet = Me.FpSpread1.Sheets(0).Clone
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.FpSpread1.Sheets.RemoveAt(0)
Me.FpSpread1.Sheets.Add(A1Sheet)
Me.FpSpread1.Sheets(0).Cells(3, 0).Formula = "SUM(A1:A3)"
End Sub
Me.Text = FpSpread1.ProductVersion
FpSpread1.ActiveSheet.SetValue(0, 0, 55)
FpSpread1.ActiveSheet.SetValue(1, 0, 66)
FpSpread1.ActiveSheet.SetValue(2, 0, 77)
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
Dim A1Sheet As New FarPoint.Win.Spread.SheetView
A1Sheet = Me.FpSpread1.Sheets(0).Clone
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.FpSpread1.Sheets.RemoveAt(0)
Me.FpSpread1.Sheets.Add(A1Sheet)
Me.FpSpread1.Sheets(0).Cells(3, 0).Formula = "SUM(A1:A3)"
End Sub
回避方法
Service Pack 4(v11.0.4505.2012)で修正済み。
Service Pack 4 を適用せずに対処する方法としては、ReferenceStyleを別の値に設定してから再設定することで数式の処理が可能となります。
■サンプルコード(VB.NET)
■サンプルコード(VB.NET)
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
Me.FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
旧文書番号
84633