ここで説明されているように、Excel インスタンスで VB から Python コードを簡単に利用できる興味深い問題があります: Excel/VBA からの Python スクリプトの呼び出し
ただし、ビジュアルスタジオでまったく同じコード構造をフォームで模倣すると、pyscript.language = "python" 行が失敗します。MSScriptControl.ScriptControl を VB .Net で使用して、Excel のように Python を制御できるかどうかは誰にもわかりませんか? これは、Python スクリプトの com オブジェクトを設定するよりもはるかに簡単です。
サンプル コード (Microsoft Script Control 1.0 と Excel オブジェクト ライブラリを追加する必要があります):
Imports Microsoft.Office.Interop
Public Class Form1
Dim WithEvents PyScript As MSScriptControl.ScriptControl
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim xlApp As New Excel.Application
xlApp.Visible = True
Dim xlwbook As Excel.Workbook = xlApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet)
Dim xlSheet As Excel.Worksheet = CType(xlwbook.Worksheets(1), Excel.Worksheet)
If PyScript Is Nothing Then
PyScript = New MSScriptControl.ScriptControl
PyScript.Language = "python"
PyScript.AddObject("Sheet", xlSheet)
PyScript.AllowUI = True
End If
PyScript.ExecuteStatement("Sheet.cells(1,1).value='Hello'")
End Sub
End Class