• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

XLS bestand naar TXT met de waardes op een voorafingestelde plaats

Status
Niet open voor verdere reacties.

ennio

Nieuwe gebruiker
Lid geworden
27 apr 2017
Berichten
4
Ik moet parameters uit excel halen in een txt bestand met de parameters op een bepaalde plaats:

Velden : Type Lengte Positie eerste kar.
* NUMMER C 8 1
* NAAM C 28 9
NAAM2 C 28 37
* ADRES C 28 65
* POSTNR C 10 93
* STAD C 28 103
LAND C 20 131
TEL1 C 15 151
TEL2 C 15 166
FAX C 15 181
GSM C 15 196
EMAIL C 35 211
* BTWNR C 16 246

Bestaat daar een functie voor in excel of een macro?

Het bestand is gemaakt om in te lezen in een oud boekhoudprogramma.


hartelijk dank
 
Dit zegt helemaal niks zonder een voorbeeld documentje.
 
Dat document beschrijft een recordlayout voor een database tabel. Je wilt dus gegevens uit een Excel bestand op die manier in een tekst bestand hebben? Dat zal niet gaan omdat er ook nummerieke datatypes in staan, die zullen in een textbestand niet leesbaar zijn en als je dat leesbaar in het tekstbestand schrijft kloppen de record- en veldlengtes weer niet.

De vraag is dus, wat ben je met dat tekstbestand van plan?
Het boekhoudprogramma zal dat niet op die manier kunnen inlezen.
Heb je niet een voorbeeld van een bestand dat wel door dat programma ingelezen kan worden?
 
Laatst bewerkt:
Normaal kan het programma het bestand lezen die ik erbij heb gevoegd.

Dit werd reeds getest.
 
Ok. Een echt oud programma dus ;)
Maar daar staan lang niet alle velden van het hele record in.
Zijn dat alle posities die je er voor nodig hebt?
En heb je een voorbeeld Excel bestand met gegevens die naar dat bestand moeten worden gesdchreven?
 
Ok, weer een stap verder. Vertel er nu nog bij welke gegevens uit dat Excel bestand bij welke velden uit die recordlayout horen.
Als dat eenmaal bekend is dan is er simpel een macro voor te maken.
 
Om de data binnen te harken

Code:
Sub VenA()
c00 = "E:\Temp\VDS_facturen14022017_000001.txt"
  With ActiveSheet.QueryTables.Add("TEXT;" & c00, Range("$A$1"))
    .TextFileParseType = xlFixedWidth
    .TextFileColumnDataTypes = Array(4, 1, 1, 2, 4, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2)
    .TextFileFixedColumnWidths = Array(8, 2, 6, 8, 8, 3, 14, 14, 14, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 8, 14, 14, 4, 30)
    .TextFileDecimalSeparator = "."
    .TextFileThousandsSeparator = ","
    .Refresh BackgroundQuery:=False
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan