Paradoxx
Gebruiker
- Lid geworden
- 2 nov 2007
- Berichten
- 135
Goedemiddag,
onze nieuwe tarreerlijn genereert XML data per behandeld monster. Aangezien dit in een testfase zit, komt nog niet alle data direct binnen op het systeem. Hiervoor hebben we een bestand gemaakt zodat de die data uit het XML bestand wat voor onze afdeling zinvol is, van het betreffende monster, duidelijk en leesbaar in een overzichtje wordt gezet.
Vanwege het feit dat het een testfase is, zullen de headers van het XML bestand wel eens kunnen veranderen. Ik wil dus bij de import een compleet nieuwe tabel willen importeren, en niet opnieuw data wegschrijven in een reeds bestaande tabel.
Hoe kan ik er voor zorgen dat wanneer ik een XML bestand importeer, dit altijd onder dezelfde tabelnaam gebeurd, zodat de VBA-code blijft werken.
Onderstaand mij VBA code... in de bijlage een bestand met fictieve testgegevens.
(vergeef me voor de wellicht te uitgebreide code,... ik sta open voor verbeteringen)
onze nieuwe tarreerlijn genereert XML data per behandeld monster. Aangezien dit in een testfase zit, komt nog niet alle data direct binnen op het systeem. Hiervoor hebben we een bestand gemaakt zodat de die data uit het XML bestand wat voor onze afdeling zinvol is, van het betreffende monster, duidelijk en leesbaar in een overzichtje wordt gezet.
Vanwege het feit dat het een testfase is, zullen de headers van het XML bestand wel eens kunnen veranderen. Ik wil dus bij de import een compleet nieuwe tabel willen importeren, en niet opnieuw data wegschrijven in een reeds bestaande tabel.
Hoe kan ik er voor zorgen dat wanneer ik een XML bestand importeer, dit altijd onder dezelfde tabelnaam gebeurd, zodat de VBA-code blijft werken.
Onderstaand mij VBA code... in de bijlage een bestand met fictieve testgegevens.
(vergeef me voor de wellicht te uitgebreide code,... ik sta open voor verbeteringen)
Code:
Sub ImportXML()
Dim fdgOpen As FileDialog
Set fdgOpen = Application.FileDialog(msoFileDialogOpen)
fdgOpen.Title = "Kies een XML bestand..."
fdgOpen.InitialFileName = "N:\Tarreer-Kwaliteitslijn\Rest\"
fdgOpen.Show
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("Import XML").Select
Range("Tabel1[[#Headers],[Type_monster]]").Select 'Wanneer ik helemaal een nieuwe XML tabel importeer, is dat niet meer "Tabel1", maar Tabel5 ofzo... hoe kan ik dit ondervangen??
ActiveWorkbook.XmlMaps("Monster_toewijzing").Import URL:=fdgOpen.SelectedItems(1)
Sheets("Omrekentabel").Select
ActiveSheet.Unprotect
Sheets("Import XML").Select
Range("Tabel1[[#Headers],[Type_monster]]").Select
Range("Tabel1[[#Headers],[Ondermaat]]").Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Omrekentabel").Select
Range("A4").Select
ActiveSheet.Paste
Range("A4").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
'evt correctie uit vorige import verwijderen
Sheets("Tarreerrapport").Select
Range("I3:I8").Select
Selection.ClearContents
Range("I13").Select
Selection.ClearContents
Range("I17:I19").Select
Selection.ClearContents
Range("I21").Select
Selection.ClearContents
Sheets("Proefrooi").Select
Range("I3:I8").Select
Selection.ClearContents
Range("I10:I11").Select
Selection.ClearContents
Range("I16").Select
Selection.ClearContents
Range("I23:I25").Select
Selection.ClearContents
Range("I27").Select
Selection.ClearContents
Sheets("Import XML").Select
If Range("A2") = "Rooi" Then
Sheets("Proefrooi").Select
Else
Sheets("Tarreerrapport").Select
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub