アプリケーションをWindowsフォームからWindowsサービスに変更しています。
conn.GetSchema( "Tables")は、2つのコードベースで異なる動作をします。
新しいコードベースでは、Excelワークシートが返されません。conn.GetSchema( "Tables")。Rows.Countは0です。すべての参照を再確認しましたが、何も違いはありません。私のコードには、この効果があると思われる他の違いは見つかりません。何かアイデアや他に何を探すことができますか?
これが私の完全な機能です(ええ、私はFor Eachを使用する必要があることを知っています):
Private Function GetWorksheets(FileName As String) As String()
Dim rv As List(Of String)
Dim conn = New OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=" & FileName & ";Extended Properties=Excel 8.0;")
conn.Open()
For x As Integer = 0 To conn.GetSchema("Tables").Rows.Count - 1
rv.Add(conn.GetSchema("Tables").Rows(x)("TABLE_NAME"))
Next x
conn.Close()
Return rv.ToArray
End Function
ありがとう、ブラッド