【解決方法】エラーが発生しました。サーバーが例外をスローしたので助けてください。 (HRESULT からの例外: 0x80010105 (RPC_E_SERVERFAULT))

プログラミングQA

[ad_1]

The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))

プロジェクトを実行するとこのエラーが発生します。問題の解決を手伝ってください

私が試したこと:

  1  Private Function GetXlUsedRange(ByVal filePath As String) As Object(,)
  2          Dim xlApp As Excel.Application
  3          Dim xlWorkbooks As Excel.Workbooks
  4          Dim xlWorkbook As Excel.Workbook
  5          Dim xlSheets As Excel.Sheets
  6          Dim xlWorkSheet As Excel.Worksheet
  7          Dim xlRange As Excel.Range
  8  
  9  
 10          xlApp = New Excel.Application
 11          xlWorkbooks = xlApp.Workbooks
 12          xlWorkbook = xlWorkbooks.Open(filePath)
 13          xlSheets = xlWorkbook.Worksheets
 14          xlWorkSheet = CType(xlSheets("Data"), Excel.Worksheet)
 15          xlRange = xlWorkSheet.UsedRange
 16  
 17          Dim rangeValues(,) As Object
 18          rangeValues = CType(xlRange.Value, Object(,))
 19  
 20  
 21          xlWorkbook.Close()
 22          xlWorkbooks.Close()
 23          xlApp.Quit()
 24  
 25          releaseObject(xlRange)
 26          releaseObject(xlWorkSheet)
 27          releaseObject(xlSheets)
 28          releaseObject(xlWorkbook)
 29          releaseObject(xlWorkbooks)
 30          releaseObject(xlApp)
 31  
 32          Return rangeValues
 33      End Function
 34  
 35      Private Sub releaseObject(ByVal obj As Object)
 36          Try
 37              System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
 38              obj = Nothing
 39          Catch ex As Exception
 40              obj = Nothing
 41          End Try
 42      End Sub
 43  
 44      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 45          Dim usedRange(,) As Object = GetXlUsedRange("C:\Users\Jayanta Modak\Desktop\import.xls")
 46  
 47          Dim fromRow As Integer = 7
 48          PopulateListView(usedRange, fromRow)
 49      End Sub

解決策 1

正直に言うと、私たちはそのような小さな情報ではあなたを助けることはできませんし、おそらく「完全な解決策」をまったく提供することもできません。それは単に、コードの実行中にシステム上のスプレッドシートにアクセスする方法がないからです。問題の診断を開始するにはそれが必要です。

それはあなた次第です。
幸いなことに、何が起こっているかを調べるのに役立つツール、デバッガーが利用可能です。 使い方がわからない場合は、Google で「Visual Studio デバッガー」を検索すると必要な情報が得られます。

関数の最初の行にブレークポイントを設定し、デバッガーでコードを実行します。 次に、コードとデータを調べて、手動で何が起こるかを考えます。 次に、各行を 1 ステップずつ実行して、期待したことが実際に起こったかどうかを確認します。 そうでない場合は、問題が発生しているときなので、前に戻って (またはもう一度実行して詳しく調べて) 理由を調べることができます。

どの行が例外の原因となっているかがわかったら、その行に渡したデータとその行が何をしているのかを確認できます (おそらく、失敗した行にブレークポイントを設定してアプリを再実行する必要があります)。 データは問題を解決する手がかりを与えてくれるはずです。

申し訳ありませんが、私たちはそれを行うことはできません。新しい (そして非常に便利な) スキルであるデバッグを学ぶ時期です。

[ad_2]

コメント

タイトルとURLをコピーしました