VB.NET / Excel

Mithril_1987

Grünschnabel
Hallöchen. :)

Bin neu hier & hab gleich mal ne Frage.. Hoffe, ihr könnt mir ein bisschen weiterhelfen.. & zwar programmiere ich gerade in VB.NET ein Programm, das aus einer Excel-Tabelle Domains herausliest & feststellt, ob diese existieren oder nicht. Alles schön & gut, nur finde ich keinen Befehl dafür, damit die gerade aktivierte Zelle ausgelesen & verarbeitet wird.. o.ô Im Makro ist es kein Problem.. Da geht das ja mit:

MsgBox (ActiveCell.Value)

Außerdem möchte ich, dass man mit der Mouse auf eine Zelle klickt & die Domain nicht gleich geöffnet wird, sondern dass gleich eine MessageBox aufspringt & sagt, ob diese Domain nun existiert, oder nicht..

Ich probier daran etz schon ewig rum & komm einfach nicht auf ein vernünftiges Ergebnis. ): Hoffe, ihr könnt mir ein paar Tipps geben!!

Hier ist der bisherige Code:

Imports Microsoft.Office.Core
Imports Microsoft.Office.Interop.Excel
Imports System.IO
Imports System.Net

Public Class Form1

Dim xlApp As Application
Dim xlMappe As Workbook
Dim xlBlatt As Worksheet
Dim xlZelle As Range

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

xlApp = New Application
xlMappe = xlApp.Workbooks.Open("I:\Eigene Dateien\Domains.xls")
xlBlatt = xlApp.Worksheets(1)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i As Integer 'alle Zellen werden nacheinander ausgelesen
For i = 1 To 3 Step 1
xlZelle = xlBlatt.Cells(i, 3)
inetReadFile(xlZelle.Value) 'Zellen werden ausgelesen
Next

====> Hier würde ich gerne einfügen, dass NUR DIE AUSGEWÄHLTE Zelle ausgelesen wird..

End Sub


Private Function inetReadFile(ByVal sURL As String) As String

Try
' WebRequest (Anfrage)
Dim oRequest As WebRequest = WebRequest.Create(sURL)

' GET-Methode (es soll etwas abgeholt werden)
oRequest.Method = "GET"

' Antwort auf unsere Anfrage abholen
Dim oResponse As WebResponse = oRequest.GetResponse()

' Beenden
oResponse.Close()

MessageBox.Show("Die Domain existiert!")

Catch Ex As Exception

MessageBox.Show("Die Domain existiert nicht!")

End Try

End Function

End Class


Danke schon mal im Voraus. :)
 
Hallöchen. :)

Bin neu hier & hab gleich mal ne Frage..
so fängt's an ;)
Herzlich willkommen
Hoffe, ihr könnt mir ein bisschen weiterhelfen.. & zwar programmiere ich gerade in VB.NET ein Programm, das aus einer Excel-Tabelle Domains herausliest & feststellt, ob diese existieren oder nicht. Alles schön & gut, nur finde ich keinen Befehl dafür, damit die gerade aktivierte Zelle ausgelesen & verarbeitet wird.. o.ô Im Makro ist es kein Problem.. Da geht das ja mit:

MsgBox (ActiveCell.Value)
schau mal:
Code:
Dim currentCell As Excel.Range = Me.Application.ActiveCell
http://msdn.microsoft.com/en-us/library/kw8z8fzk(VS.80).aspx
Außerdem möchte ich, dass man mit der Mouse auf eine Zelle klickt & die Domain nicht gleich geöffnet wird, sondern dass gleich eine MessageBox aufspringt & sagt, ob diese Domain nun existiert, oder nicht..
Wo genau ist hier dein Problem? Mitzukriegen, wenn in Excel jemand eine Zelle auswählt? Dann könnte dir das helfen: http://msdn.microsoft.com/en-us/lib...s.excel.worksheet.selectionchange(VS.80).aspx


Und bitte Quellcode in Code Tags setzen und besser in die für die entsprechende Sprach (csharp, vbnet, sql, cpp, php,...). Danke :)
 
Wo genau ist hier dein Problem? Mitzukriegen, wenn in Excel jemand eine Zelle auswählt? Dann könnte dir das helfen: http://msdn.microsoft.com/en-us/lib...s.excel.worksheet.selectionchange(VS.80).aspx

Mein Problem hierbei ist, dass ich es unterbinden möchte, dass nach dem Klick auf eine Zelle, in der die Domain steht, gleich das Browser-Fenster aufspringt & die Seite angezeigt wird oder nicht.. Ich möchte diese Domain erst gar nicht öffnen. Es soll im Vorfeld angezeigt werden, ob diese Domain nun existiert oder nicht..

So, hab nun einmal versucht, mit deinen Tipps ein bisschen weiter zu kommen.. Nun gut, ich hab jetzt zwar den Befehl für die aktuelle Zelle:

Code:
        Dim currentCell As Range

        currentCell = xlApp.ActiveCell

        inetReadFile(currentCell.Value)

allerdings zeigt es mir IMMER an, dass die Domain existiert.. (Obwohl sie das nicht tut..) Was ist hier also noch falsch o.ô

Ich verzweifel. ):
 
Zuletzt bearbeitet:
Code:
Imports Microsoft.Office.Core
Imports Microsoft.Office.Interop.Excel
Imports System.IO
Imports System.Net
Imports System.Windows.Forms.Form

Public Class Form1

    Public Event SelectionChange As DocEvents_SelectionChangeEventHandler

    Dim xlApp As Application
    Dim xlMappe As Workbook
    Dim xlBlatt As Worksheet
    Dim currentCell As Range
    Dim xlZelle As Range

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        xlApp = New Application
        xlMappe = xlApp.Workbooks.Open("I:\Eigene Dateien\Domains.xls")
        xlBlatt = xlApp.Worksheets(1)
 
     End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


       currentCell = xlApp.ActiveCell

        inetReadFile(currentCell.Value)

    End Sub

Mit der folgenden Funktion lasse ich nachprüfen, ob eine Domain existiert:

Code:
Private Function inetReadFile(ByVal sURL As String) As String

      Try
    

            ' WebRequest (Anfrage)
            Dim oRequest As WebRequest = WebRequest.Create(sURL)



            ' GET-Methode (es soll etwas abgeholt werden) 
            oRequest.Method = "GET"

            ' Antwort auf unsere Anfrage abholen
            Dim oResponse As WebResponse = oRequest.GetResponse()

            ' Beenden
            oResponse.Close()

            MessageBox.Show("Die Domain existiert!")

        Catch Ex As Exception

            MessageBox.Show("Die Domain existiert nicht!")


        End Try

    End Function

End Class

So, das war nun mal der komplette Code.. Ich versteh nicht, warum das net hinhaut.. Zumal die Anweisung:

Code:
     Dim i As Integer 'alle Zellen werden nacheinander ausgelesen
        For i = 1 To 3 Step 1
            xlZelle = xlBlatt.Cells(i, 3)
            inetReadFile(xlZelle.Value) 'Zellen werden ausgelesen
        Next

auch funktioniert hat.. :confused:
 
Hi

Das heißt, dass deine Check-Funktion richtig arbeitet wenn du sie wie im letzten Teil aufrufst?
Hast du denn mal debugged und geprüft, was übergeben wird?
 

Neue Beiträge

Zurück