Ich bin Übergang von Excel VBA zu VB.NET, wenn dies eine dumme Frage ist, bitte gehen Sie einfach auf mich. Ich erhalte eine NullReferenceException was unhandled by user code
auf dieser Zeile der folgenden Unter:NullReferenceException wurde von Benutzercode nicht behandelt - Excel.Worksheet-Objekt
Dim objSheet As Excel.Worksheet = objBook.Sheets("SQL Creator")
VS sagt, dass die Object reference is not set to an instance of the object
. Ich bin nicht sicher, warum es darum bittet, weil ich bereits eine neue Instanz von Excel in der objApp-Variable deklariert habe. Warum müsste ich eine neue Instanz jedes Objekts unter dieser Klasse deklarieren? Es ist sehr wahrscheinlich, dass ich nicht richtig darüber nachdenke, aber ich wollte nur meine Gedanken erwähnen. Insgesamt versuche ich nur, das Sub unten zu testen, um zu sehen, ob es eine Verbindung zu einer PostgreSQL-Datenbank öffnet und schließt.
Import Microsoft.Office.Interop
Public Sub QueryData(ByVal ribbonUI As Office.IRibbonControl)
Dim objApp As New Excel.Application
Dim objBook As Excel.Workbook = objApp.ActiveWorkbook
Dim objSheet As Excel.Worksheet = objBook.Sheets("SQL Creator")
Dim pgconn As String
pgconn = "Driver={PostgreSQL};" &
"Server = localhost;" &
"Port = 5432;" &
"Database = CFABudget;" &
"Uid = postgres;" &
"Pwd = budgeto;"
Dim SQL As String = objSheet.Range("BudgetSQL").Text
Dim conn As New Data.Odbc.OdbcConnection(pgconn)
Dim cmd As Data.Odbc.OdbcCommand = New Data.Odbc.OdbcCommand(SQL)
conn.Open()
MsgBox("Success!", vbOKOnly)
conn.Close()
End Sub
Vielen Dank für Ihre Hilfe!
Mögliche Duplikate von [Was ist eine NullReferenceException, und wie behebe ich es?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) –