Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Excel 2010 VB Makro Inhalt einer Webseite in Browser kopieren schlägt fehlt

Mitglied: SweetOne

SweetOne (Level 1) - Jetzt verbinden

12.11.2014 um 08:21 Uhr, 3375 Aufrufe, 17 Kommentare

Hallo liebe Leute!

ich möchte den Inhalt einer Webseite in ein Excel Sheet kopieren.

manueller Weg: Seite öffnen>Str+A>Str+C>Excel>Str+V
also nicht den Code kopieren und einfügen (!)

Hier mein aktueller code:

01.
Private Sub CopyHtmlToClipboard(wwwAdress As String) 
02.
     Dim appIE As Object 
03.
     Set appIE = CreateObject("InternetExplorer.Application") 
04.
 
05.
     appIE.navigate wwwAdress 
06.
     appIE.Visible = False 
07.
 
08.
     Do: Loop Until appIE.Busy = False 
09.
     appIE.ExecWB 17, 0 'Select All 
10.
 
11.
     Do: Loop Until appIE.Busy = False 
12.
     appIE.ExecWB 12, 0 'Copy 
13.
 
14.
     Do: Loop Until appIE.Busy = False 
15.
 
16.
     appIE.Application.Quit 
17.
     Set appIE = Nothing 
18.
End Sub
Grundsätzlich funktioniert das auch. Nur nicht bei der gewünschten (internen!) Seite.
ich vermute folgdendes als Ursache:

Diese erfordert eine Browser Authentifizierung.
Sprich der Broser überträgt die Nutzerdaten authomatisch.
Wie so üblich bei ERP Systemen..

Bei der Seite handelt es sich um eine .aspx Seite,
falls dass eine Rolle spielt.

Gruß aus dem noch nebeligen Bayern
SweetOne
Mitglied: 116301
12.11.2014, aktualisiert um 12:04 Uhr
Hallo SweetOne!


Hast Du es auch mal per Daten>Externe Webabfrage versucht?

Teste mal damit:
01.
Sub TestUrl(ByRef sUrl) 
02.
    Dim sText As String 
03.
     
04.
    On Error Resume Next 
05.
    With CreateObject("WinHttp.WinHttpRequest.5.1") 
06.
        .Open "Get", sUrl, False 
07.
        .Send 
08.
         sText = .ResponseText 
09.
    End With 
10.
    On Error GoTo 0 
11.
     
12.
    If sText <> "" Then 
13.
        MsgBox True 
14.
    Else 
15.
        MsgBox False 
16.
    End If 
17.
End Sub
Wahr oder Falsch?

Wenn Wahr, kompletten Inhalt (body) oder nur Tabellen (table)?

Grüße Dieter
Bitte warten ..
Mitglied: SweetOne
12.11.2014 um 15:14 Uhr
Hallo Eintragsfliege,

ich hatte es noch nicht mit der externen Webabfrage Versucht.
Sehr nette idee .. leider kopiert er nur die Tabllen, nicht den Inhalt.
Ich fürchte das Excel hier nicht geduldig genug ist,
da Sie Seiten eine gewisse Ladezeit haben.

Als Makro stellt sich das so dar (google als Beispiel)

01.
    With ActiveSheet.QueryTables.Add(Connection:= _ 
02.
        "URL;https://www.google.de/?gws_rd=ssl", Destination:=Range("$A$1")) 
03.
        .Name = "?gws_rd=ssl" 
04.
        .FieldNames = True 
05.
        .RowNumbers = False 
06.
        .FillAdjacentFormulas = False 
07.
        .PreserveFormatting = True 
08.
        .RefreshOnFileOpen = False 
09.
        .BackgroundQuery = True 
10.
        .RefreshStyle = xlInsertDeleteCells 
11.
        .SavePassword = False 
12.
        .SaveData = True 
13.
        .AdjustColumnWidth = True 
14.
        .RefreshPeriod = 0 
15.
        .WebSelectionType = xlEntirePage 
16.
        .WebFormatting = xlWebFormattingNone 
17.
        .WebPreFormattedTextToColumns = True 
18.
        .WebConsecutiveDelimitersAsOne = True 
19.
        .WebSingleBlockTextImport = False 
20.
        .WebDisableDateRecognition = False 
21.
        .WebDisableRedirections = False 
22.
        .Refresh BackgroundQuery:=False 
23.
    End With
Kann man hier vlt. ihrgendwie eine Warezeit einstellen?


Das Ergebnis der Abfrage ist jedenfalls wahr.
Der hover beim Debugger zeigt das der body usw eingeladen wird.
..

Kann ich den html code vlt auch in den Browser wieder rein laden und dann versuchen zu kopieren?

Gruß der Dämmerung
SweetOne

PS: hatte heute leider nicht viel zeit mir die neuen Infos viel näher anzusehen, morgen hoffe ich =)
Bitte warten ..
Mitglied: 116301
12.11.2014 um 15:55 Uhr
Hallo SweetOne!

Und wie funktioniert es hiermit:
01.
Public Sub Test() 
02.
   'Body=xlEntirePage, AllTables=xlAllTables 
03.
    Call GetWebDaten("https://www.google.de/?gws_rd=ssl", xlEntirePage) 
04.
   'Call GetWebDaten("https://www.google.de/?gws_rd=ssl", xlAllTables)  
05.
End Sub 
06.
 
07.
Private Sub GetWebDaten(ByRef sUrl, ByVal iMode As Long) 
08.
    Dim sHtmlText As String, sHtmlFile As String, sHtmlQuery As String 
09.
    Dim sText As String, i As Integer 
10.
     
11.
    On Error Resume Next 
12.
    With CreateObject("WinHttp.WinHttpRequest.5.1") 
13.
        For i = 1 To 3  'Max 3 Versuche 
14.
           .Open "Get", sUrl, False 
15.
           .Send 
16.
            sText = .ResponseText 
17.
            If sText <> "" Then 
18.
                Exit For 
19.
            End If 
20.
        Next 
21.
    End With 
22.
    On Error GoTo 0 
23.
     
24.
    If sText <> "" Then 
25.
        sHtmlText = "<html><head><title></title></head><body>" 
26.
        sHtmlText = sHtmlText & Split(sText, "<body")(1) 
27.
        sHtmlFile = Environ("Temp") & "\Temp.html" 
28.
        sHtmlQuery = "FINDER;File:///" & Replace(sHtmlFile, "\", "/") 
29.
                     
30.
        With CreateObject("Scripting.FileSystemObject") 
31.
            .CreateTextFile(sHtmlFile).Write sHtmlText 
32.
             Do Until .FileExists(sHtmlFile): Loop 
33.
        End With 
34.
     
35.
        With ActiveSheet 
36.
           .UsedRange.Cells.Clear 
37.
            With .QueryTables.Add(Connection:=sHtmlQuery, Destination:=.Range("A1")) 
38.
                .AdjustColumnWidth = True 
39.
                .WebSelectionType = iMode    'xlAllTables, xlEntirePage 
40.
                .WebFormatting = xlWebFormattingNone 
41.
                .Refresh BackgroundQuery:=False 
42.
                .Delete 
43.
            End With 
44.
        End With 
45.
    End If 
46.
End Sub

Grüße Dieter
Bitte warten ..
Mitglied: SweetOne
13.11.2014, aktualisiert um 07:32 Uhr
Hallo Dieter,

sehr schöner Ansatz den ich selbst sicherlich nicht geschafft hätte.
Zumindest nicht so schnell. Bei google Funktioniert der Ansatz auch...

Aber bei der problematischen ERP Seite leider nicht... =(

Mich irritiert das die Daten aus dem Web Abfrage scheinbar keine Zugriffsprobleme hat...
dafür sind aber auch die Tabellen leer.

>Serverfehler
>401 - Nicht autorisiert: Zugriff aufgrund ungültiger Anmeldeinformationen verweigert.
>Die angegebenen Anmeldeinformationen berechtigen Sie nicht, dieses Verzeichnis oder >diese Seite anzuzeigen.

Noch eine Idee dazu?
So langsam glaube ich, dass es einfach nicht geht.... .

Wäre sehr schade, es geht um eine monatliche Kopierarbeit im Umfang von etwa 25 Seiten und Excel Erstellung,
welche sehr schön für ein Makro wäre. Wenn es funktioniert sicherlich auch mehr als einmal im Monat..

Ergänzung: Sehr gute Seite gefunden wo ich glaube ich mit weiter komme.
http://www.freecoffee.de/2014/09/tutorial-web-scraping-mit-vba-teil-1/

Sehr lange gesucht aber erst jetzt nach der Recherche nach der HTTP request gefunden.

Darin verwendet wird URLencode...:
http://dc-storm.com/de/news-events/news/urlencode-urldecode-als-excel-f ...
Funktioniert bei mir nur leider nicht.
Alternative: http://www.dorf-rauxel.de/picard/tools/urlcode.php

Mit freundlichen Grüßen
SweetOne
Bitte warten ..
Mitglied: SweetOne
13.11.2014, aktualisiert um 08:25 Uhr
Hallo,

also den Authentifizierungsfehler habe ich web bekommen.
ich habe den Befehl ".SetCredentials" ergänzt.

Nur sieht das resultat nun genau so aus wie beim Import über die Excel "Daten von Webseite" Funktion. Die Tabellen sind leer.

Die gleiche Adresse im Browser ist definitv nicht leer.

Ich habe nach meinem besten wissen Versucht über die msdn Seite weiter zu kommen:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384106(v=vs.8 ...

Leider komme ich auf keinen grünen Zweig =(.

Gruß
SweetOne
Bitte warten ..
Mitglied: 116301
13.11.2014 um 08:46 Uhr
Hallo SweetOne!

Sorry, da ich keine Möglichkeit habe den Vorgang nachzustellen, kann ich Dir leider nicht weiterhelfen

Eventuell hätte Uwe (colinardo) als Allround-Experte diesbezüglich mehr Möglichkeiten und könnte weiterhelfen?

Versuchs mal mit einer PN an colinardo

Deine geposteten Links sind auch für mich sehr hilfreich, von daher mal Danke dafür...


Grüße Dieter
Bitte warten ..
Mitglied: SweetOne
13.11.2014 um 08:56 Uhr
Hallo Dieter,

naja trotzdem danke! =)

weist du vlt ob die HTTP Request Funktion wartet bis die Seite geladen hat?

Gruß aus gefühlten Unterwelt in Bayern (Nebel)
SweetOne
Bitte warten ..
Mitglied: 116301
13.11.2014, aktualisiert um 09:16 Uhr
Hallo SweetOne!

Yepp, HttpRequest wartet. Du kannst auch noch nach dem '.Send' eine Statusabfrage (MsgBox .Status) in den HttpRequest einbauen, wobei der Wert '200' für 'OK' steht...

Grüße Dieter
Bitte warten ..
Mitglied: SweetOne
13.11.2014, aktualisiert um 09:23 Uhr
Hallo,

bin jetzt in der Ursachen Forschung weiter gekommen.

Ich habe die Seite im Browser gespeichert als html.
Hier war die Formatirung auf einmal total Wüst aber mit Inhalt.

Gepspeichert als .mht führte dazu das der IE eine Meldung bringt:
"Die Seite greift auf Informationen aus anderen Daten zu. (...) Möchten Sie fortsetzen.
Darauf hin öffnet sich ein neues Fenster und .... (!)
==> die Tabelle bleibt leer.

Soll heisen scheinbar existiert eine Art Ajax Stream welcher Seiten nachläd und im Lokalen Zustand den Server nicht erreicht.
Aufgrund des Seiten Umfangs habe ich das nicht gesehen.... .

Gruß aus Bayern
SweetOne
Bitte warten ..
Mitglied: 116301
13.11.2014, aktualisiert um 10:19 Uhr
OK, dann versuchs mal damit:
01.
Option Explicit 
02.
Option Compare Text 
03.
 
04.
Private Const IE_READYSTATE_COMPLETE = 4 
05.
 
06.
Public Sub Test() 
07.
   'Body=xlEntirePage, AllTables=xlAllTables 
08.
    Call GetWebDaten("https://www.google.de/?gws_rd=ssl", xlEntirePage) 
09.
End Sub 
10.
 
11.
Private Sub GetWebDaten(ByRef sUrl, ByVal iMode As Long) 
12.
    Dim sHtmlText As String, sHtmlFile As String, sHtmlQuery As String, sText As String 
13.
     
14.
     With CreateObject("InternetExplorer.Application") 
15.
         .Navigate sUrl 
16.
          Do Until .ReadyState = IE_READYSTATE_COMPLETE:  Loop 
17.
          'Call WaitOfLoad(2)   'Falls Seite noch nicht geladen Wartezeit aktivieren 
18.
          sText = .document.body.innerHtml 
19.
         .Quit 
20.
     End With 
21.
     
22.
    If sText <> "" Then 
23.
        sHtmlText = "<html><head><title></title></head><body>" & sText & "</body></html>" 
24.
        sHtmlFile = Environ("Temp") & "\Temp.html" 
25.
        sHtmlQuery = "FINDER;File:///" & Replace(sHtmlFile, "\", "/") 
26.
                     
27.
        With CreateObject("Scripting.FileSystemObject") 
28.
            .CreateTextFile(sHtmlFile).Write sHtmlText 
29.
             Do Until .FileExists(sHtmlFile): Loop 
30.
        End With 
31.
     
32.
        With ActiveSheet 
33.
           .UsedRange.Cells.Clear 
34.
            With .QueryTables.Add(Connection:=sHtmlQuery, Destination:=.Range("A1")) 
35.
                .AdjustColumnWidth = True 
36.
                .WebSelectionType = iMode    'xlAllTables, xlEntirePage 
37.
                .WebFormatting = xlWebFormattingNone 
38.
                .Refresh BackgroundQuery:=False 
39.
                .Delete 
40.
            End With 
41.
        End With 
42.
    End If 
43.
End Sub 
44.
 
45.
'Funktion Warten auf Ausführung in Sekunden ( 1s = 1, 100ms = 0.1, 500ms = 0.5, 10ms = 0.01...) 
46.
Private Sub WaitOfLoad(ByVal Sekunden As Double) 
47.
    Dim StopTime As Double 
48.
    StopTime = Date + ((Timer + Sekunden) / 86400) 
49.
    Do While StopTime >= (Date + Timer / 86400) 
50.
        DoEvents 
51.
    Loop 
52.
End Sub
Wobei Du bei Bedarf die Codezeile 17 mit einer Wartezeit versehen kannst...

Grüße aus (dem trüben) Baden-Württemberg
Dieter
Bitte warten ..
Mitglied: SweetOne
13.11.2014, aktualisiert um 11:07 Uhr
Hallo,

ja zwei dumme ein Gedanke =). Genau das hatte ich auch versucht.
Bleibe aber bei deinem Script an der gleichen Stelle hängen wie an meiner.

Abgesehen davon ist deins ihrgendwie eleganter...
sText = .document.body.innerHTML

>Die Methode 'Document' für das Objekt 'IWebBrowser 2' ist fehlgeschlagen

Mir fehlt aktuell noch der Wink woran das liegt....
Sind diese Bezeichnungen vom Dom aufbau der Seite abhängig?
Oder aber von der Browser Version. Bei mir IE8.

Gruß aus Bayern
SweetOne

Ergänzung:
Es ist nicht so das es grundsätzlich nicht geht. Google zum Beispiel geht wieder.
Der Aufbau zwischen der google seite und meiner erp seite ähneln sich. Denke nicht, dass das relevant ist.
Browser Version fällt weg da google funktioniert.

Vmtl Authentifizierung/Ajax
Bitte warten ..
Mitglied: SweetOne
13.11.2014, aktualisiert um 11:38 Uhr
Hallo,

Ihrgendwie schlägt so gut wie jede Methode fehl mit der geöffneteten Internetexplorer Anwendung was zu machen.
(gilt nicht für google!!)

Ich habe es nun auch mal per ExecWB versucht... nicht gefunden.
01.
appIE.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, "c:\temp\test.pdf"
Aber eben nur speziell bei den Seiten.
Der Browser mit korrekten Inhalt geht ja auf.

---
werde heute wohl erstmal was anderes machen
das ist ja frustrierent =(

gruß
SweetOne
Bitte warten ..
Mitglied: 116301
14.11.2014 um 10:17 Uhr
Hallo SweetOne!

Normalerweise kann bei Https-Seiten im Browser nicht auf den Documentinhalt zugegriffen werden oder der Quelltext angezeigt werden, was dann aber per Http-Request wiederum geht. Wenn die Tabellinhalte allerdings nach dem Öffnen der Website erst nachträglich mit einer Verzögerung geladen werden, sehe ich da keine Chance die Inhalte auszulesen.

Ändert sich nach dem Laden der Daten in der Address-Leiste irgendwas?


Grüße Dieter
Bitte warten ..
Mitglied: SweetOne
14.11.2014, aktualisiert um 10:38 Uhr
Hallo Dieter,

keine direkte Verzögerung. Die Daten werden aus der SQL Datenbank ausgelesen und dann eingeladen. Wie gesagt so eine Art Ajax oder so. Die Adressleiste bleibt gleich.

Unter diesen Umständen muss ich wohl doch direkt die SQL Datenbank befragen.
Excel selbst schafft es nicht die SQL Abfrage durchzuführen. Ich denke mal zu komplex in diesem Fall, habe ich öfters.
Zudem brauch ich da sicherlich wieder einiges an Makro Code zum formatieren...
..ich hoffe das dies dann über VB ihrgendwie trotzdem zu händeln ist.
Zumal es eh etwas Tricky ist die Datenverbindung vom Excel per VB anzusteuern.

Aber das ist dann doch etwas out-of-topic würde ich mal sagen.

Gruß nach BaWü
SweetOne
Bitte warten ..
Mitglied: 116301
14.11.2014 um 11:27 Uhr
Hallo SweetOne!

Unter diesen Umständen muss ich wohl doch direkt die SQL Datenbank befragen.
Excel selbst schafft es nicht die SQL Abfrage durchzuführen.
Das war auch mein erster Gedanke, wollte Dich damit aber nicht überfordern

Hast Du Zugriff (Rechte, Username, Passwort...) auf die Datenbank und kennst Tabellenname, Feldnamen...?


Grüße Dieter
Bitte warten ..
Mitglied: SweetOne
14.11.2014, aktualisiert um 11:55 Uhr
Hallo Dieter,

Für die Abfrage habe ich einen speziellen Account mit Leserechten damit nichts verändert wird.
Den Connection String habe ich 1:1 aus der ODDB Verbindung kopiert.
Sollte dann passen oder?

Tabellen sind mir soweit vollständig bekannt und eine entsprechende Abfrage liegt schon bereit,
aus dem ERP genommen und im MS SQL Manager getestet.

In diesem VB-Bereich fehlt mir nur etwas die Erfahrung.
Ich bekomme einen Fehler nach dem anderen....

01.
Sub test() 
02.
    'erforderliche Bilbiotek: Microsoft ActiveX Data Object 6.1 Library 
03.
     
04.
    'Deklaration von Variablen (wer hätte das gedacht  ) 
05.
    Dim con As ADODB.Connection 'Deklarieren der connection 
06.
    Set con = New ADODB.Connection 'Instanzierung des Objektes 
07.
    Dim RS As Recordset 'Deklaration des Recordset 
08.
    Set RS = New ADODB.Recordset 'Instanzierung des Recordsets 
09.
    Dim SQL As String 
10.
    SQL = "SELECT TOP 100 * from adressen" 
11.
     
12.
    'Öffnen der ODBC Schnittstelle DSN ist der DataSourceName 
13.
    con.ConnectionString = "Provider=SQLOLEDB.1;Password=MeinPW;Persist Security Info=True;User ID=MeinUser;Initial Catalog=ERB_DB_NAME;Data Source=ERB_DB_SERVER;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PCNAME;Use Encryption for Data=False;Tag with column collation when possible=False" 
14.
    con.Open 
15.
    RS.Open SQL, con 
16.
    con.Close 
17.
 
18.
End Sub 
19.
 
..Automatisierungsfehler ihrgendwas....
Ich habe google danach bemüht, leider erfolglos.

Der Fehler kommt in der Zeile RS.Open SQL, con.

Meine erste Ídee währe ein Fehlerhafter Connection String.
Auf der anderen Seite funktioniert dieser doch 1:1 in Excel.
Zudem sieht er nicht ganz falsch aus:
http://support.microsoft.com/kb/193135/de

Nachträgliche Anmerkung:
Wenn ich die ConnectionString verfäsche, sprich z.b. passwort ändere kommt direkt fehler,
hier scheint also alles i.O. zu sein. Verbindung scheint laut MS auch so zu stimmen:
http://technet.microsoft.com/en-us/library/aa905872(v=SQL.80).aspx

Anmerkung:
Connection String um Zugansdaten etc. abgeändert und SQL Select ganz einfach zum testen.

Gruß aus Bayern
SweetOne
Bitte warten ..
Mitglied: 116301
14.11.2014, aktualisiert 15.11.2014
Hallo SweetOne!

Zum Testen:
SQL = "SELECT * From adressen"

Connection-Beispiele sind hier noch zu finden...

Das Ganze dann in etwa so:
01.
Public Sub GetData() 
02.
    Call DataImport("Tabelle1", "SELECT * From [Adressen]") 
03.
End Sub 
04.
 
05.
Private Sub DataImport(ByRef sSheetName, ByRef sSQL) 
06.
   'Verweis-Bibliothek: Microsoft ActiveX Data Object 6.1 Library 
07.
    Dim con As ADODB.Connection, rs As Recordset 
08.
    Dim Wks As Worksheet, RowNext As Long, i As Long 
09.
 
10.
    Set con = New ADODB.Connection 'Instanzierung des Objektes 
11.
    Set rs = New ADODB.Recordset 'Instanzierung des Recordsets 
12.
 
13.
    'Öffnen der ODBC Schnittstelle DSN ist der DataSourceName 
14.
    con.ConnectionString = "Connect-Daten" 
15.
    con.Open 
16.
     
17.
    'Dieser Teil schreibt die Daten (Spaltenüberschrift, Werte) in die Tabelle 
18.
    If con.State = adStateOpen Then 
19.
        rs.Open sSQL, con 
20.
         
21.
        Set Wks = Sheets(sSheetName):  Wks.UsedRange.ClearContents 
22.
         
23.
        RowNext = 1 
24.
         
25.
        With rs 
26.
            If .Fields.Count Then   'Import Spaltenüberschriften (Feldnamen) 
27.
                For i = 0 To .Fields.Count - 1 
28.
                    Wks.Cells(RowNext, i + 1).Value = .Fields(i).Name 
29.
                Next 
30.
            End If 
31.
             
32.
            Do Until .EOF   'Import Werte 
33.
                RowNext = RowNext + 1 
34.
                For i = 0 To .Fields.Count - 1 
35.
                    Wks.Cells(RowNext, i + 1).Value = .Fields(i).Value 
36.
                Next 
37.
               .MoveNext 
38.
            Loop 
39.
           .Close 
40.
        End With 
41.
        con.Close 
42.
    Else 
43.
        MsgBox "Keine Verbindung!" 
44.
    End If 
45.
End Sub
Grüße Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten

gelöst Frage von packmann2016Microsoft Office5 Kommentare

ich möchte mit Hilfe einem Makro Zellen die einen bestimmten Inhalt ("G" und "A") haben ausblenden. Versuchte mit dem ...

Microsoft Office

Excel Makro

Frage von maloh1984Microsoft Office4 Kommentare

Hallo Habe ein Problem, ein Kunde der hat Excellisten mit Makro die lassen sich öffnen aber die Buttons reagieren ...

Microsoft Office

Excel-Makro

gelöst Frage von yuki13Microsoft Office7 Kommentare

Hallo Zusammen!! :-) Ich bin nicht so fit in Excel Makros und wollte mich hier erkundigen, ob mir jemand ...

VB for Applications

Excel 2010 Makro: Intelligentes Kopieren von Daten in 2 Tabellenblättern

gelöst Frage von JenssonVB for Applications7 Kommentare

Hallo :) Ich bin Einsteiger in VBA, beziehungsweise möchte lernen, Makros zu schreiben und habe dafür eine Testaufgabe bekommen. ...

Neue Wissensbeiträge
Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 4 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 7 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 2 TagenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Batch & Shell
Powershell: Im AD nach Comutern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell25 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
Frage von Bommi1961Batch & Shell20 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...