Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Excel VBA Web-Abfrage

Hallo,

ich habe mir mit Hilfe des Internets irgendwie eine
Excel Web-Abfrage über VBA zusammengemurkst. Sie funktioniert auch aber ich verstehe einige Befehl nicht. Wäre toll wenn mir jemand helfen könnte. Folgendes verstehe ich nicht:

Was bedeuten folgedende Befehle im untenstehenden Code

Set tbl
QueryTables
With tbl
   
        .FieldNames = False
        .RefreshOnFileOpen = False
        .Refresh BackgroundQuery:=False
       
    End With

Kann ich die set tbl und die with tbl auch irgendwie
umgehen!

Sub Aufruf()

Dim sSearch As String

sSearch = "http://info.consors.de/financeinfos/search.do?pattern=psivida"

If Tabelle1.Cells(8, 2).Value = "" Then

    Set tbl = Worksheets("Tabelle1").QueryTables.Add( _
                Connection:="URL;" & sSearch, _
                Destination:=Tabelle1.Cells(1, 1))
    With tbl
   
        .FieldNames = False
        .RefreshOnFileOpen = False
        .Refresh BackgroundQuery:=False
       
    End With
   
Else

Sheets("Tabelle1").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
MsgBox "Die Daten wurden aktualisiert"

End If

End Sub


Antworten zu Excel VBA Web-Abfrage:

Warum willst du die umgehn?

Das set und with is ne Vereinfachung für den Code..

Anstatt jedesmal das Komplette Object+Eigenschaft etc zu notieren, wird ne Objektvariable erstellt das auf das Objekt verweist (set)

Und mit with nimmste auf die Objektvariable Bezug, und brauchst somit nur noch direkt die Eigenschaft anzusprechen um den Wert zu bekommen oder zu setzen.

MeinObjekt= Worksheets("Tabelle1").QueryTables.Add( _
                Connection:="URL;" & sSearch, _
                Destination:=Tabelle1.Cells(1, 1))

Mit set/with:
Dim meineObjektvaraibale as Object
set meineobjektvariable = MeinObjekt

with meineObjektvariable
   .Eigenschaft = Wert
   .Eigenschaft1 = Wert
   MeineVariable = .Eigenschaft2
end with

Ohne Set/with:
Worksheets("Tabelle1").QueryTables.Add( _
                Connection:="URL;" & sSearch, _
                Destination:=Tabelle1.Cells(1, 1)).Eigenschaft = Wert

Worksheets("Tabelle1").QueryTables.Add( _
                Connection:="URL;" & sSearch, _
                Destination:=Tabelle1.Cells(1, 1)).Eigenschaft1 = Wert

MeineVariable = Worksheets("Tabelle1").QueryTables.Add( _
                Connection:="URL;" & sSearch, _
                Destination:=Tabelle1.Cells(1, 1)).Eigenschaft2
etc

Also warum immer den gleichen langen Code notieren wenns auch viel einfacher/kürzer/eleganter geht.


Gruß

« Letzte Änderung: 24.04.04, 19:28:52 von Nighty »

Cool!

Ich hab zwar keine Antwort, aber das Script mal probiert.
Was ist genau der Sinn. Muss der Web Betreiber etwas speziell bereitstellen oder ist das einfach gedacht um beispiels weise Variablen von Internet her upzudaten.
Währungskurse oder Mitglieder Adressen?


Gruss SpaceMaster

PS: Frage konkret: Kann ich so eine Liste 1:1 vom web ins Excel kopieren? (Linkliste etc.)


« Letzte Änderung: 25.04.04, 18:56:56 von SpaceMaster »

Mit dieser Web Abfrage über VBA ist es möglich Web Seiten komplett herunterzuladen. Natürlich kann man
dies auch eleganter lösen, indem man nur bestimmte Werte herunterladet z.B. einen Aktienkurs. Aber immerhin ein Anfang.
Bei manchen Web Seiten könnte es aber zu rechtlichen
Problemen kommen. Also Vorsicht!

Gruss Che


« Visual C++ für Win98Turbo pascal »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Excel
Excel ist eine Tabellenkalkulationssoftware von Microsoft, die Teil des Office-Pakets ist, aber auch eigenständig erworben werden kann. Ursprünglich für di...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...