VB.Netを使用して、Microsoft Excel用のCOMアドインを開発しています。特定の要素を含むワークシートを表すクラスを作成しました。たとえば、ListObjectがあるとします。次のようにListObjectのプロパティを作成します。
Public Class MySheet
Private myTable as Excel.ListObject
Public Property Table() As Excel.ListObject
Get
Return myTable
End Get
Set(ByVal value As Excel.ListObject)
myTable = value
End Set
End Property
次に、たとえばMySheetクラスに、ListObjectの属性を表すプロパティがあります。
Private myTableStyle As String
Public Property TableStyle As String
Get
Return myTableStyle
End Get
Set(ByVal value As String)
myTableStyle = value
Me.Table.TableStyle = value
End Set
End Property
このように設定したのは、メインコードで、スタイルを変更するたびに2つのプロパティ(MySheetクラスのTableStyleプロパティとListObjectのTableSTyleプロパティ)を更新する必要がないためです。だから私のメインコードで私は持つことができます:
Dim MySheetObject As MySheet = New MySheet()
MySheetObject.Table = SomeListObject
MySheetObject.TableStyle = "TableStyleMedium4"
最後の行は、文字列値をMySheetオブジェクトのプロパティとして格納し、ExcelのListObjectのTableStyleプロパティを変更します。
これは大丈夫ですか、それともいくつかのコーディング原則に違反していますか?