Excel bestand bewerken voor importeren

Status
Niet open voor verdere reacties.

Nico84

Gebruiker
Lid geworden
21 jul 2011
Berichten
187
Met onderstaande code selecteer ik een excel bestand welk ik wil importeren.

Code:
Private Sub cmdDialoogvensterImport_Click()

    Dim fDialog As Office.FileDialog
    Dim varFile As Variant
    
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
    With fDialog
        .AllowMultiSelect = True
        .Title = "Selecteer import bestand"
        
        .Filters.Clear
        .Filters.Add "Excel bestand", "*.xlsx", 1
        .Filters.Add "Alle bestanden", "*.*"
        
        If .Show = True Then
            For Each varFile In .SelectedItems
                Me.txtBestandslocatieImport = varFile
            Next
        Else
            MsgBox "U heeft geen bestand geselecteerd en de opdracht geannuleerd"
        End If
    End With
End Sub

Vervolgens wordt het geselecteerde bestand met onderstaande code geïmporteerd.

Code:
Private Sub cmdImporteren_Click()
    Dim stBestand As String
    stBestand = Me.txtBestandslocatieImport
    
    DoCmd.SetWarnings False
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "tbl_OmzetTemp", stBestand, True
    MsgBox ("De data is geimporteerd"), vbInformation, "Opdracht is uitgevoerd."
    DoCmd.SetWarnings True
End Sub

Is het mogelijk voordat het geïmporteerd wordt:
-het geselecteerde excel bestand te openen
-In cel A1 en A6 tekst te plaatsen
-De wijzigingen opslaan in het excel bestand
 
Hoi,

Hiermee open je een bestaand Excel bestand

Code:
Dim Newbook As Workbook
Set Newbook = Workbooks.Open("C:/MapNaam/Bestandsnaam.xlsm")

Voor de rest van je vragen, zou het handig zijn als je een voorbeeldje bijsluit
 
Laatst bewerkt:
@JanBG:
Het is in Access dus zal je wel eerst een Excel object moeten maken voordat je dat Excel bestand kan openen.
Daarnaast staan je slashes verkeerd om in je opdrachtregel.
 
Heb ik nu verkeerd gelezen? Hij heeft het toch over een Excel bestand?

Verder gebruik ik deze code al jaren, slashes precies zoals ze staan, zonder centje pijn....:eek:
 
Je bent hier in de Access sectie.
Die slashes worden geaccepteerd maar officieel is het fout.
Probeer het maar eens in een command box.
 
@edmoore
Je hebt gelijk wat de slashes betreft; Ik ben vrij nieuw op dit forum: waar zie ik dat we in de Access sectie zitten?
 
Helemaal bovenin.
Maar ik tuin er zelf ook weleens in hoor ;)
 
Toch maar een oplossing, want TS schiet met deze gezellige babbels niet zo veel op :). Laten we het met Late Binidng doen, want dan hoef je niet met bibliotheken te klooien.
Code:
Dim xl As Object, wbk As Object, wks As Object

    Set xl = CreateObject("Excel.Application")
    xl.Workbooks.Open "K:\Mijn documenten\Bijenkorf Dwaze Rij.xls"
    xl.Visible = True
    Set wbk = xl.ActiveWorkbook
    Set wks = xl.ActiveSheet
    With wks
        .Range("A1").Value = "Hier de tekst voor A1"
        .Range("A6").Value = "Hier de tekst voor A6"
    End With
 
Jij kan dat hier als geen ander, dus daar was het wachten op ;)
 
Ga nou niet zeggen dat jij dit stukkie code niet kan produceren :)
 
Thnx!

Alleen onderstaande nog toegevoegd, zodat excel afgesloten wordt.
Alleen krijg ik de melding wilt u de wijzigingen opslaan?

Wat moet ik veranderen zodat de wijzigingen opgeslagen worden zonder melding?


Code:
    wbk.Save
    wbk.Close

    xl.Quit
    Set xl = Nothing
 
Is dat niet zo:
Code:
    wbk.Close SaveChanges:=True
    xl.Quit
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan