• 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.

Importeren / Exporteren

Status
Niet open voor verdere reacties.

roywaarts

Gebruiker
Lid geworden
2 okt 2011
Berichten
44
Goedemorgen allemaal,

Mijn vraag gaat over het volgende:

Ik heb 15 verschillende losse bestandjes en 1 hoofd bestand, in elk los bestandje zit een lijst, deze lijst moet een medewerker kunnen exporteren.
In het hoofd document is er per los bestand een tab, nu zou je in het hoofd document per tab het geëxporteerde document moeten kunnen importeren en als het al geïmporteerd is moet het overschreven worden als het nog een keer geïmporteerd wordt.

Ik hoop dat ik mij zelf goed uitleg.
Het moet echter wel super makkelijk worden, dus wat heb ik tot op heden gedaan:

Voor het exporteren heb ik:

PHP:
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        "\\rwaarts\Desktop\test 2.txt", FileFormat:= _
        xlText, CreateBackup:=False
End Sub

Voor het importeren heb ik:

PHP:
 With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;\\rwaarts\Desktop\test.txt", Destination _
        :=Range("$A$1"))
        .Name = "test_11"
        .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


Nou wil ik in VBA een User form maken.
Bestaande uit een text veld, een knop waarbij de locatie van het geimporteerde bestand gekozen kan worden en een knop met importeer

Dat zou er dan zou uit zien:

Tekst Veld:

Tekstbox1
Knop om het bestand te selecteren met deze code:
PHP:
On errror GoTo noXP1

    myFileToOpen = Application.GetOpenFilename("Tekst Bestand (*.TXT), *.txt", , _
                    "Open het import bestand")
    FilePlaats = myFileToOpen
    If myFileToOpen <> False Then
        UserForm1.TextBox1.Text = FilePlaats
    End If
Exit Sub

noXP1:
Application.Run "mUserForm1.BrowseFiles"

En dan zit ik met de code:

PHP:
 With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;\\rwaarts\Desktop\test.txt", Destination _
        :=Range("$A$1"))
        .Name = "test_11"
        .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

maar de locatie die hij gebruikt:

(Connection:= _
"TEXT;\\rwaarts\Desktop\test.txt", Destination _
:=Range("$A$1"))

Zou dus moeten zijn (denk ik(

(Connection:= _
"TEXT;UserForm1.TextBox1.Text", Destination _
:=Range("$A$1"))

maar de werkt dus niet.

Iemand die tips geeft? :) of het leuk vind om met mij te brainstormen hoe ik die het beste kan doen :D
 
Je hebt er nu ook tekst staan in plaats van een verwijzing naar de tekst. Probeer dit eens:
Code:
(Connection:= _
"TEXT;" & UserForm1.TextBox1.Text, Destination _
:=Range("$A$1"))
 
Thenks Edmoor! Dat werkt!
:D :D :D

Ik heb een voorbeeld bijgevoegd :)

Ik zou dit ook voor een export willen,
Dat je zelf de locatie kan kiezen voor de export

Voor TekstVeld 2 heb ik staan met een knop:

PHP:
Private Sub CommandButton4_Click()
With Application.FileDialog(msoFileDialogFolderPicker)
        .Show

        For Each vrtSelectedItem In .SelectedItems
            UserForm1.TextBox2.Text = vrtSelectedItem
        Next

    End With
End Sub

en bij Export knop:

PHP:
Private Sub CommandButton3_Click()
    ChDir "\\file-wpv01.office.intern\home$\rwaarts\Desktop"
    ActiveWorkbook.SaveAs Filename:= _
        "\\file-wpv01.office.intern\home$\rwaarts\Desktop\test1234.txt", FileFormat:= _
        xlText, CreateBackup:=False
End Sub

Hier heb ik een voorbeeld:
Bekijk bijlage test1234.xlsm
 
Dan heb je die CommandButton4 niet nodig:
Code:
Private Sub CommandButton3_Click()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Show
        ActiveWorkbook.SaveAs Filename:= _
        .SelectedItems(1) & "\test1234.txt", FileFormat:= _
        xlText, CreateBackup:=False
    End With
End Sub
 
Liever:

Code:
Private Sub CommandButton3_Click()
    With Application.FileDialog(4)
         if .Show =-1 then ActiveWorkbook.SaveAs .SelectedItems(1) & "\test1234.txt", 21
    End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan