2017-03-02 1 views
0

Je souhaite créer un formulaire dans Access avec le bouton "créer facture". J'essaie de l'avoir comme suit:Création de facture VBA dans Excel via le formulaire de saisie d'accès

  • Copiez le «modèle de facture» Excel; Déplacez le "modèle de facture" Excel du dossier "templates" vers le dossier "invoices"; Ouvrez le "registre d'envoi des factures" (fichier Excel); Ouvrir le "registre des adresses client" (fichier Excel); Renommez la copie du modèle de facture par quelque chose que vous pouvez entrer dans une zone de texte;

  • Attendez une seconde;

  • Ouvrez le fichier Excel nouvellement créé pour remplir le modèle dans Excel.

Voici le code que je suis venu avec:

Private Sub Knop1_Click() 

    'Open register with customer adresses 
    Dim xlApp As Object 
    Set xlApp = CreateObject("Excel.Application") 
    xlApp.Visible = True 
    xlApp.Workbooks.Open "\\WDMyCloudEX4\Zakelijk\Documenten\Betalingen\Faktuur adressen.xlsx", True, False 
    Set xlApp = Nothing 

    'Open folder with invoices 
    Call Shell("explorer.exe" & " " & "\\WDMyCloudEX4\Zakelijk\Documenten\SFMT\Afleveringsbonnen 2008-heden\2017\Nieuwe systeem (1-3-2017)", vbNormalFocus) 

    'Make a copy of the invoice template 
    FileCopy "\\WDMyCloudEX4\Zakelijk\Documenten\SFMT\Afleveringsbon.xlsx", "\\WDMyCloudEX4\Zakelijk\Documenten\SFMT\Afleveringsbonnen 2008-heden\2017\Nieuwe systeem (1-3-2017)\Nieuwe afleveringsbon.xlsx" 

    'Define to what the invoice template should be renamed 
    Year = [Tekst3] 
    Month = [Tekst6] 
    Count = [Tekst9] 
    NEWNAME = Year + Month + Count 

    'Move and rename the invoice template copy 
    Name "\\WDMyCloudEX4\Zakelijk\Documenten\SFMT\Afleveringsbonnen 2008-heden\2017\Nieuwe systeem (1-3-2017)\Nieuwe afleveringsbon.xlsx" As "\\WDMyCloudEX4\Zakelijk\Documenten\SFMT\Afleveringsbonnen 2008-heden\2017\Nieuwe systeem (1-3-2017)\P95+$NEWNAME.xlsx" 

    'Wait a second to make sure the copiing is completed 
    Sleep (1000) 

    'Open the moved and renamed invoice template copy 
    Dim xlApp As Object 
    Set xlApp = CreateObject("Excel.Application") 
    xlApp.Visible = True 
    xlApp.Workbooks.Open "\\WDMyCloudEX4\Zakelijk\Documenten\SFMT\Afleveringsbonnen 2008-heden\2017\Nieuwe systeem (1-3-2017)\P95+telling", True, False 
    Set xlApp = Nothing 

End Sub 

Toute aide serait la bienvenue, cela me rend fou ... J'ai essayé pendant des heures maintenant.

+0

Et dans quelle zone du code ci-dessus avez-vous un problème? –

Répondre

0

Vous ne l'avez pas dit ce que le problème réel est mais je suppose qu'au moins une partie du problème est avec ce code:

'Open register with customer adresses 
Dim xlApp As Object 
Set xlApp = CreateObject("Excel.Application") 
xlApp.Visible = True 
xlApp.Workbooks.Open "\\WDMyCloudEX4\Zakelijk\Documenten\Betalingen\Faktuur adressen.xlsx", True, False 
Set xlApp = Nothing 

Dans ce code, vous créez un objet d'application Excel et l'ouverture d'un classeur Excel à travers cet objet, puis en détruisant immédiatement l'objet application juste après l'ouverture du classeur. Ainsi, vous ouvrez effectivement et fermez immédiatement le classeur.