Vraag


  • Chefferson
  • Registratie: Februari 2012
  • Laatst online: 30-09 16:25
Hallo tweakers!

Ik heb een uitdaging met Excel. Hopelijk kunnen jullie mij helpen! Ben er redelijk handig in, maar hier kom ik niet uit helaas.

Mijn vraag

Ik moet dagelijks een bestand middels excel importen in externe software. De data komt uit een XML bestand.
Nu wil ik graag eenmalig een mapping maken zodat ik telkens het nieuwe bestand kan inladen. Zonder uiteraard iedere keer een nieuwe mapping op te moeten zetten.

Relevante software en hardware die ik gebruik

Microsoft Excel

Wat ik al gevonden of geprobeerd heb

Het lukt mij prima om de mapping aan te maken. Hiervoor creeer ik de benodigde kolommen en vervolgens via developer -> source -> XML selectie -> de juiste velden dmv slepen op de juiste headers zetten.
Rechtermuis - refresh en alle data komt er netjes in op de juiste locatie.

Als ik echter een nieuw bestand als source selecteer moet ik opnieuw de mappingen aanmaken. En dat wil ik dus juist voorkomen. Wie heeft de gouden tip?

Beste antwoord (via Chefferson op 05-09-2024 17:13)


  • Christoxz
  • Registratie: Maart 2014
  • Laatst online: 29-09 14:11
Chefferson schreef op donderdag 5 september 2024 @ 12:25:
[...]


Jij bedoelt de inhoud van het XML bestand verwijderen en dagelijks vervangen voor nieuwe inhoud?
Op zich een mogelijke oplossing, maar toch weer extra werk. Ik wil de kansen op fouten minimaliseren en dit
kunnen overdragen waarbij de oplossing zo simpel mogelijk blijft.
Nee dat bedoel ik niet.
In Excel, kan je data importen uit een map. (In iedere geval met cvs&excel bestanden).
Als je dan daar een bestand toevoegt, en de data refresht in excel, laad hij automatisch de nieuwe bestanden mee. Geen idee of dat zou werken met XML.

Excel: Data -> Get Data -> From File -> From Folder

T.Net Creality 3D Printer Discord

Alle reacties


  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Ik zou van die actie een marco laten maken, dan de source van de macro ingaan, en daar het e.e.a. aanpassen, die marco opslaan als een .xla en die in de folder XLstart zetten, zodat die marco altijd uitgevoerd kan worden.

Daar heb je wel wat VBA-kennis voor nodig.

Ey!! Macarena \o/


  • Chefferson
  • Registratie: Februari 2012
  • Laatst online: 30-09 16:25
RaZ schreef op donderdag 5 september 2024 @ 11:41:
Ik zou van die actie een marco laten maken, dan de source van de macro ingaan, en daar het e.e.a. aanpassen, die marco opslaan als een .xla en die in de folder XLstart zetten, zodat die marco altijd uitgevoerd kan worden.

Daar heb je wel wat VBA-kennis voor nodig.
Snelle reactie thanks! Alleen ontbreekt het mij de kennis ben ik bang om zoiets te bouwen.

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Als je die handeling opneemt maakt Excel die code zelf. Die code (die wellicht wat aanpassingen nodig heeft), zal je sowieso moeten opslaan, om die code in een ander cq. nieuw Excel-bestand te kunnen uitvoeren, en dat doe je daar het bestand op te slaan als een .xla en die in de folder xlstart zetten.

Alles macro's in dat xla-bestand worden dan ingeladen als Excel start.

Je kan die code die Excel gemaakt heeft voor je ook wel hier delen, en dan zal er vast wel een Excel-guru met VBA kennis je opweg helpen.

Ik doe al 20+ jaar niks meer met Excel en dus ook niet houwtje-touwtje VBA'en :P

Om naar de code te gaan die Excel gemaakt heeft is meen ik Alt-F3 of F11. Het is al lang geleden, of ben ik in de war met WordPerfect 5.1 onderwaterscherm? :+ Ik heb geen Excel om te checken welke toetsencombinatie te nodig hebt :P

[ Voor 16% gewijzigd door RaZ op 05-09-2024 12:10 ]

Ey!! Macarena \o/


  • Chefferson
  • Registratie: Februari 2012
  • Laatst online: 30-09 16:25
RaZ schreef op donderdag 5 september 2024 @ 12:03:
Als je die handeling opneemt maakt Excel die code zelf. Die code (die wellicht wat aanpassingen nodig heeft), zal je sowieso moeten opslaan, om die code in een ander cq. nieuw Excel-bestand te kunnen uitvoeren, en dat doe je daar het bestand op te slaan als een .xla en die in de folder xlstart zetten.

Alles macro's in dat xla-bestand worden dan ingeladen als Excel start.

Je kan die code die Excel gemaakt heeft voor je ook wel hier delen, en dan zal er vast wel een Excel-guru met VBA kennis je opweg helpen.

Ik doe al 20+ jaar niks meer met Excel en dus ook niet houwtje-touwtje VBA'en :P

Om naar de code te gaan die Excel gemaakt heeft is meen ik Alt-F3 of F11. Het is al lang geleden, of ben ik in de war met WordPerfect 5.1 onderwaterscherm? :+ Ik heb geen Excel om te checken welke toetsencombinatie te nodig hebt :P
Wederom bedankt voor je reactie, maar dit is echt abracadabra voor mij. Ik heb de volgende stappen gevolgd om tot het bestand te komen wat ik nu heb:

https://www.youtube.com/watch?v=M-yGgxlszmc

  • Christoxz
  • Registratie: Maart 2014
  • Laatst online: 29-09 14:11
Gaat hem om meerdere bestanden? Wellicht een map gebruiken als source, en daar het nieuwe bestand in zitten zodat je alleen hoeft te refreshen, en de mapping dus blijft staan?

T.Net Creality 3D Printer Discord


  • Chefferson
  • Registratie: Februari 2012
  • Laatst online: 30-09 16:25
Christoxz schreef op donderdag 5 september 2024 @ 12:22:
Gaat hem om meerdere bestanden? Wellicht een map gebruiken als source, en daar het nieuwe bestand in zitten zodat je alleen hoeft te refreshen, en de mapping dus blijft staan?
Jij bedoelt de inhoud van het XML bestand verwijderen en dagelijks vervangen voor nieuwe inhoud?
Op zich een mogelijke oplossing, maar toch weer extra werk. Ik wil de kansen op fouten minimaliseren en dit
kunnen overdragen waarbij de oplossing zo simpel mogelijk blijft.

  • jeroen3
  • Registratie: Mei 2010
  • Nu online
Chefferson schreef op donderdag 5 september 2024 @ 11:37:
Als ik echter een nieuw bestand als source selecteer moet ik opnieuw de mappingen aanmaken. En dat wil ik dus juist voorkomen. Wie heeft de gouden tip?
Uhm, je kunt het xml bestand toch overschrijven?

  • Chefferson
  • Registratie: Februari 2012
  • Laatst online: 30-09 16:25
jeroen3 schreef op donderdag 5 september 2024 @ 12:33:
[...]

Uhm, je kunt het xml bestand toch overschrijven?
Dan ben ik ook de oude data kwijt.... Ik begrijp en snap je oplossing, maar dat is niet de methode waar ik naar op zoek ben :)

Het moet gewoon echt monkey-proof zijn.

[ Voor 6% gewijzigd door Chefferson op 05-09-2024 12:36 ]


  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Huur iemand in die die marco voor je maakt. Zal hooguit een uurtje werk zijn. En nee, ik ben niet beschikbaar ;)

Ey!! Macarena \o/


  • dixet
  • Registratie: Februari 2010
  • Laatst online: 08:54
Chefferson schreef op donderdag 5 september 2024 @ 12:34:
[...]


Dan ben ik ook de oude data kwijt.... Ik begrijp en snap je oplossing, maar dat is niet de methode waar ik naar op zoek ben :)

Het moet gewoon echt monkey-proof zijn.
Dat hoeft niet. Je kan je oude XML laten staan en deze kopiëren naar "excelimport.xml" oid. Die importeer je dan éénmalig.

De monkey-proof instructie is dan: kopieer het bestand, noem het "excelimport.xml" en ververs daana de Excel.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Christoxz
  • Registratie: Maart 2014
  • Laatst online: 29-09 14:11
Chefferson schreef op donderdag 5 september 2024 @ 12:25:
[...]


Jij bedoelt de inhoud van het XML bestand verwijderen en dagelijks vervangen voor nieuwe inhoud?
Op zich een mogelijke oplossing, maar toch weer extra werk. Ik wil de kansen op fouten minimaliseren en dit
kunnen overdragen waarbij de oplossing zo simpel mogelijk blijft.
Nee dat bedoel ik niet.
In Excel, kan je data importen uit een map. (In iedere geval met cvs&excel bestanden).
Als je dan daar een bestand toevoegt, en de data refresht in excel, laad hij automatisch de nieuwe bestanden mee. Geen idee of dat zou werken met XML.

Excel: Data -> Get Data -> From File -> From Folder

T.Net Creality 3D Printer Discord


  • Chefferson
  • Registratie: Februari 2012
  • Laatst online: 30-09 16:25
Christoxz schreef op donderdag 5 september 2024 @ 15:44:
[...]

Nee dat bedoel ik niet.
In Excel, kan je data importen uit een map. (In iedere geval met cvs&excel bestanden).
Als je dan daar een bestand toevoegt, en de data refresht in excel, laad hij automatisch de nieuwe bestanden mee. Geen idee of dat zou werken met XML.

Excel: Data -> Get Data -> From File -> From Folder
Denk dat dit de beste oplossing is! Thanks!
Pagina: 1