基本的に、いくつかのブールステートメントの結果に基づいて自動入力したいフォームがあります。「IF true then celcius radiobutton がチェックされている」など
私がこれまでに持っているものは次のとおりです
Public Class Unitsofmeasureform Dim oForm As Unitsofmeasureform
Public Sub Load_Units_Form()
'Dim ws As Object
'ws = Application.activesheet()
Dim xlApp
xlApp = Application
Dim temp_units As String
If IsNothing(oForm) OrElse oForm.IsDisposed Then
oForm = New Unitsofmeasureform()
End If
oForm.Show()
temp_units = Application.Sheets("units sheet").Range("D1").value
If temp_units = "°C" Then
Application.Sheets("sheet1").range("A1") = 1
Me.celcius.Checked = True
Else
Application.Sheets("sheet1").range("A1") = 2
Me.fahrenheit.Checked = True
End If
End Sub
ExcelDNA というプログラムを使用して、この VB.net フォームを Excel に統合しています。if ステートメントが確実に機能するように範囲情報を含めました。ただし、フォームがタグ celcius の付いたラジオボタンをリロードすると、チェックされません。「私」なしでコードを繰り返してもチェックされません。
私自身の解決策を見つけた
変更
Me.celcius.Checked = True
に
oForm.celcius.Checked = True
その後、これは機能します