Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] Εισαγωγή δεδομένων απο xml (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2749-eisagogi-dedomenon-apo-xml.html)

sotisanis 17-10-13 22:49

Εισαγωγή δεδομένων απο xml
 
Παιδια καλησπερα και παλι.
Θελω για αλλη μια φορα την πολυτιμη βοηθεια σας.
Εχω ενα excel και θελω ενα φυλλο απο ολα με vba να εισαγω δεδομενα (ως αντιγραφη ολου του xml και αντικατασταση ολου του φυλλου) μεσα ομως απο το internet.δηλαδη το xml να βρισκεται σε καποιο url

Τα φωτα σας παιδια???

sotisanis 17-10-13 23:29

βρηκα αυτον τον κωδικα.για τοπικα δουλευει αλλα πως θα το βαλω να δουλευει μεσω url ?
Κώδικας:

Sub ImportXMLtoList()
Dim strTargetFile As String
Dim wb As Workbook

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    strTargetFile = "C:\dap.xml"
    Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList)
    Application.DisplayAlerts = True

    wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("proionta").Range("A1")
    wb.Close False
    Application.ScreenUpdating = True


End Sub


sotisanis 17-10-13 23:34

τελικα αυτος ο κωδικας μπορει να δουλεψει
Κώδικας:

Sub ImportXMLtoList()
Dim strTargetFile As String
Dim wb As Workbook

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    strTargetFile = "http://www.taski.gr/dap.xml"
    Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList)
    Application.DisplayAlerts = True

    wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("proionta").Range("A1")
    wb.Close False
    Application.ScreenUpdating = True


End Sub

περιμενω νεα σας για το αν ειναι σωστος η θελει διορθωσεις

Tasos 18-10-13 00:24

Κανονικά δεν χρειάζεται κώδικας. Η εισαγωγή δεδομένων XML μπορεί να γίνει μέσα από την επιφάνεια της Excel ακόμα και αν το αρχείο XML είναι απομακρυσμένο.

Πήγαινε στην καρτέλα "Προγραμματιστής" και πάτησε το κουμπί "Εισαγωγή".

Στο παράθυρο διαλόγου που θα εμφανιστεί πέρασε το URL του αρχείου και πάτησε άνοιγμα.

Μετά από μερικά δευτερόλεπτα το απομακρυσμένο XML θα εισαχθεί στο ενεργό φύλλο του βιβλίου.

Πάτησε ΟΚ στο μήνυμα που θα σου εμφανίσει η Excel.

Αυτή τη διαδικασία γίνεται για μια και μοναδική φορά.

Για να ανανεώσεις τα δεδομένα του πίνακα δεδομένων που θα δημιουργηθεί αρκεί να πατήσεις το κουμπί "Ανανέωση όλων" στην καρτέλα "Δεδομένα".

Με αυτό το σκεπτικό δεν χρειάζεσαι αντιγραφή - επικόλληση δεδομένων αφού μπορείς να εισάγεις τα δεδομένα σου κατευθείαν εκεί που τα χρειάζεσαι.

Και για το τεχνικό της υπόθεσης παραθέτω έναν απλό κώδικα/παράδειγμα για την εισαγωγή του συγκεκριμένου αρχείου:

Κώδικας:

Sub ImportXMLData()
    Dim ret As XlXmlImportResult
    Application.DisplayAlerts = False
    ret = ThisWorkbook.XmlImport("http://www.taski.gr/dap.xml", Nothing, True, Range("$A$1"))
    Application.DisplayAlerts = True
    If ret = xlXmlImportSuccess Then
        MsgBox "Import OK"
    End If
End Sub

Τάσος


Η ώρα είναι 11:21.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2