プロジェクトでは、Excel シートから情報を読み取り、その情報を PLC に渡す必要があります。悲しいことに、「Dim App As New Excel.Application」を使用すると問題が発生します。何らかの理由で、フォームが画面に表示される前にアプリケーションがクラッシュし、フォームが表示されなくなります。私が得るエラーは次のとおりです。
OpHoopVanZegen.exe で「System.InvalidOperationException」タイプの未処理の例外が発生しました
これは「Application.Designer.vb」で発生します
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.OpHoopVanZegen.Form1
End Sub
^^^エラーが発生した場所^^^^
追加情報: COM オブジェクトを System.__ComObject 型から interfacetype に変換できません
何が起こっているのか、および/または私が間違っていることを説明できる人はいますか?
------------------------------------ 私のフォームコード:
Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
Dim App As New Excel.Application
Dim svrOPC As New OPCAutomation.OPCServer
Dim WithEvents grpOPC As OPCAutomation.OPCGroup
Private Sub connectToOPC_Click(sender As Object, e As EventArgs) Handles connectToOPC.Click
If svrOPC.ServerState = OPCAutomation.OPCServerState.OPCDisconnected Then
Call svrOPC.Connect("Kepware.KEPServerEX.V5")
End If
Me.TBStatusOPC.Text = udfOPCServerState(svrOPC.ServerState)
End Sub
Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles Me.Activated
Me.TBStatusOPC.Text = udfOPCServerState(svrOPC.ServerState)
End Sub
Private Function udfOPCServerState(ByVal intOPCServerState As Integer) As String
Select Case intOPCServerState
Case OPCAutomation.OPCServerState.OPCRunning
udfOPCServerState = "Running"
Case OPCAutomation.OPCServerState.OPCFailed
udfOPCServerState = "Failed"
Case OPCAutomation.OPCServerState.OPCNoconfig
udfOPCServerState = "No Config"
Case OPCAutomation.OPCServerState.OPCSuspended
udfOPCServerState = "Suspended"
Case OPCAutomation.OPCServerState.OPCTest
udfOPCServerState = "Test"
Case OPCAutomation.OPCServerState.OPCDisconnected
udfOPCServerState = "Disconnected"
Case Else
udfOPCServerState = "Unknown"
End Select
End Function
Private Sub LoadOrderToPLC_Click(sender As Object, e As EventArgs) Handles LoadOrderToPLC.Click
End Sub
クラス終了