[Excel] txt files automatisch openen in excel sheets

Pagina: 1
Acties:
  • 330 views sinds 30-01-2008
  • Reageer

  • uibeltje
  • Registratie: Juli 2000
  • Laatst online: 00:04

uibeltje

Idiotheque

Topicstarter
Ik heb een excel bestand dat met grote hoeveelheden data grafieken e.d. maakt. Deze data staat in textfiles en elke keer als ik van een nieuw experiment grafieken wil genereren moet ik dezelfde handelingen uitvoeren in het excel bestand: 2 textfiles openen en de data kopieren en dan plakken op een sheet in het oorspronkelijke excel bestand.

Is er een mogelijkheid om bij het openen van dit bestand het zo te maken dat er gevraagd wordt om de 2 textbestanden en dat deze vervolgens vanzelf op de juiste sheets worden geplakt?
De txt files zijn tab delimited en moeten in cel a1 komen.

Verwijderd

en hebben die txt files altijd dezelfde naam?

  • uibeltje
  • Registratie: Juli 2000
  • Laatst online: 00:04

uibeltje

Idiotheque

Topicstarter
Verwijderd schreef op 05 maart 2003 @ 14:40:
en hebben die txt files altijd dezelfde naam?
nee! het zou het mooiste zijn als er gevraagd wordt welke txt files en gebruikt moeten worden en dat ze dan vanzelf op de juiste sheet geplakt worden.

Verwijderd

en staat er een datum in de .txt file of is het zomaar (onvoorspelbaar) een naam?

Verwijderd

Zijn de tekstfiles altijd van hetzelfde formaat (indeling van de data) ?

Filenaam is niet het grootste probleem...

[ Voor 24% gewijzigd door Verwijderd op 05-03-2003 14:58 ]


  • CAP-Team
  • Registratie: April 2000
  • Laatst online: 22-09 18:54

CAP-Team

XBL: CAPTeam

met wat VBA-script lijkt het me dat je hieruit zou moeten kunnen komen.

Microsoft Surface Pro 6 | Samsung Galaxy S21FE | XBOX Series X


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Druk op F1 in Excel:
Zoek op Macro-recorder!

Als je na een uurtje snapt hoe je handelingen kunt automatiseren door ze "op te nemen" druk je nogmaals op F1 en zoek je naar INPUTBOX

  • uibeltje
  • Registratie: Juli 2000
  • Laatst online: 00:04

uibeltje

Idiotheque

Topicstarter
Verwijderd schreef op 05 March 2003 @ 14:57:
Zijn de tekstfiles altijd van hetzelfde formaat (indeling van de data) ?

Filenaam is niet het grootste probleem...
ja, exact hetzelfde (behalve de waarden natuurlijk :P)

  • uibeltje
  • Registratie: Juli 2000
  • Laatst online: 00:04

uibeltje

Idiotheque

Topicstarter
Arnaud schreef op 05 March 2003 @ 15:02:
Druk op F1 in Excel:
Zoek op Macro-recorder!

Als je na een uurtje snapt hoe je handelingen kunt automatiseren door ze "op te nemen" druk je nogmaals op F1 en zoek je naar INPUTBOX
ik weet hoe macro's werken en gebruik ze ook en INPUTBOX staat niet in de help (excel 2000)

Verwijderd

Als de filenames altijd hetzelfde zijn is het wel een eitje :-)

Niet te veel in de handleiding lezen, de macrorecorder opstarten, een naam geven, zorgen dat ie de macro opslaat in personal (oid).
Beginnen met je handelingen (naar a1 gaan, bestand inlezen, en verder)

Wanneer je klaar bent druk je op de knop macro sluiten.

Om de macro weer te starten, dat kan je trouwens net zo mooi maken als je wilt, druk je op ALT-F8 en je kunt hem uitvoeren.

En wanneer je dit een (paar) keer hebt gedaan, ga dan eens wat info zoeken over macro's ;-)

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Druk in Excel eerst eens op ALT+F11 zodat de Visual Basic Editor verschijnt en zoek dan nogeens naar INPUTBOX

  • uibeltje
  • Registratie: Juli 2000
  • Laatst online: 00:04

uibeltje

Idiotheque

Topicstarter
Arnaud schreef op 05 March 2003 @ 15:26:
Druk in Excel eerst eens op ALT+F11 zodat de Visual Basic Editor verschijnt en zoek dan nogeens naar INPUTBOX
daar staat het wel :)

maar dan ben ik er nog niet uit hoe ik dat zou kunnen gebruiken om te browsen naar de txt file

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Browsen naar de txt-file gaat ook niet op deze manier. Als je dat echt wilt moet je in de VB-editor maar eens zoeken naar "dialog". Ik heb even een code-voorbeeldje voor je gemaakt, de rest mag je zelf proberen:

Simpel voorbeeld, opgenomen met de macro-recorder
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;D:\My Documents\Desktop\Book1.txt", Destination:=Range("A1"))
        .Name = "Book1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With


Dezelfde code, maar nu aangepast zodat je zelf de bestandsnaam kunt opgeven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim Bestandsnaam1, myFSO
Set myFSO = CreateObject("Scripting.FileSystemObject")
While Not myFSO.FileExists(Bestandsnaam1) = True
  Bestandsnaam1 = InputBox("Wat is het volledige pad naar het eerste bestand?", "Geef bestandsnaam1")
Wend

    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Bestandsnaam1, Destination:=Range("A1"))
        .Name = "Book1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With

[ Voor 7% gewijzigd door Arnaud op 05-03-2003 15:59 . Reden: stukje toegevoegd over zoeken naar "dialog" ]


  • uibeltje
  • Registratie: Juli 2000
  • Laatst online: 00:04

uibeltje

Idiotheque

Topicstarter
dank je, ik ga er ff mee spelen en wat proberen
Pagina: 1