Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 20 van 20

Onderwerp: Standaard directory voor opslaan bestand aanpassen

  1. #1
    Junior Member
    Geregistreerd
    17 januari 2018
    Vraag is opgelost

    Standaard directory voor opslaan bestand aanpassen

    Met behulp van onderstaande code wordt een bestand opgeslagen als pdf in een standaard directory (C:\mijn documenten). Er wordt automatisch een map aangemaakt met klachtnummer als naam van de submap. Dit werkt allemaal uitstekend, maar ik wil de standaard map voor opslag aangepast hebben. Hierbij moet de naamgeving van de submap intact blijven (en het controleren of de map al bestaat). Het lukt mij niet om dit in onderstaande VBA code voorelkaar te krijgen; mijn kennis schiet daarin te kort. Wie kan mij helpen?

    Code:
    Private Sub CommandButton2_Click()
    ActiveSheet.Unprotect Password:="?????"
    Application.ScreenUpdating = False
    
    With Sheets("Klachtformulier")
    If ListOfComplaints.ListIndex = -1 Or T_klachtn°.Value = "Klachtnummer" Then
    MsgBox "Kies eerst een klacht in de lijst!", vbCritical, "Klacht?"
    ListOfComplaints.SetFocus
    Exit Sub
    End If
    
    Dim sPad As String
        Dim Pad() As String
        Dim i As Integer
    
        'Check of path bestaat anders mappen aanmaken
        Pad = Split(Sheets("Klachtformulier").Range("B2").Value & (""), "")
        For i = 0 To UBound(Pad)
            sPad = sPad & Pad(i) & ""
            If Dir(sPad, vbDirectory) = "" Then
                MkDir sPad
            End If
        Next i
        
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPad & "\ " & "Klacht n° " & .Range("B2") & " " & "  (" & Format(Now(), "dd-mm-yyyy h mm") & ")" & ".Pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    
    MsgBox "Het formulier is succesvol opgeslagen!"
            
    ActiveSheet.Protect Password:="KolthofBV"
    Application.ScreenUpdating = True
    End Sub
    Laatst aangepast door wroefkes : 11 januari 2019 om 18:03 Reden: Coderegels mogen niet als tekst weergegeven

  2. #2
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    @wroefkes

    Plaats svp de VBA-code tussen code markeringen (tags).

    Zie ook: https://www.helpmij.nl/forum/announcement.php?f=5
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  3. #3
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Begin door sPad in te stellen op de gewenste locatie:
    Code:
    sPad = "D:\GewenstPad\"
    Die kan je daarna laten aanvullen door de rest van je code die het pad verder bepaalt.
    Laatst aangepast door snb : 11 januari 2019 om 11:31
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  4. #4
    Junior Member
    Geregistreerd
    17 januari 2018
    Code:
    Private Sub CommandButton2_Click()
     ActiveSheet.Unprotect Password:="?????"
     Application.ScreenUpdating = False
    
     With Sheets("Klachtformulier")
     If ListOfComplaints.ListIndex = -1 Or T_klachtn°.Value = "Klachtnummer" Then
     MsgBox "Kies eerst een klacht in de lijst!", vbCritical, "Klacht?"
     ListOfComplaints.SetFocus
     Exit Sub
     End If
    
     Dim sPad As String
     Dim Pad() As String
     Dim i As Integer
    
     'Check of path bestaat anders mappen aanmaken
     Pad = Split(Sheets("Klachtformulier").Range("B2").Value & (""), "")
     For i = 0 To UBound(Pad)
     sPad = sPad & Pad(i) & ""
     If Dir(sPad, vbDirectory) = "" Then
     MkDir sPad
     End If
     Next i
    
     .ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPad & "\ " & "Klacht n° " & .Range("B2") & " " & " (" & Format(Now(), "dd-mm-yyyy h mm") & ")" & ".Pdf", _
     Quality:=xlQualityStandard, IncludeDocProperties:=True, _
     IgnorePrintAreas:=False, OpenAfterPublish:=False
     End With
    
     MsgBox "Het formulier is succesvol opgeslagen!"
    
     ActiveSheet.Protect Password:="KolthofBV"
     Application.ScreenUpdating = True
     End Sub

  5. #5
    Junior Member
    Geregistreerd
    17 januari 2018
    Beste Edmoor,

    als ik onderstaande code ervan maak, dan heb ik in ieder geval de klacht in de juiste doelmap gekregen. Alleen wil ik dat er een submap gemaakt wordt in de doelmap met het nummer van de klacht (net zoals de oorspronkelijke code deed). Als een aangepaste klacht wordt opgeslagen moet deze in dat submapje geplaatst worden (deed de oorspronkelijke code ook).

    Code:
    Private Sub CommandButton2_Click()
    ActiveSheet.Unprotect Password:="?????"
    Application.ScreenUpdating = False
    
    With Sheets("Klachtformulier")
    If ListOfComplaints.ListIndex = -1 Or T_klachtn°.Value = "Klachtnummer" Then
    MsgBox "Kies eerst een klacht in de lijst!", vbCritical, "Klacht?"
    ListOfComplaints.SetFocus
    Exit Sub
    End If
    
    Dim sPad As String
        Dim Pad() As String
        Dim i As Integer
    
        'Check of path bestaat anders mappen aanmaken
        sPad = "D\Kantoorpersoneel\Voorbeeldmap\"
        Pad = Split(Sheets("Klachtformulier").Range("B2").Value & ("\"), "\")
        For i = 0 To UBound(Pad)
    '        sPad = sPad & Pad(i) & "\"'
            If Dir(sPad, vbDirectory) = "" Then
                MkDir sPad
            End If
        Next i
        
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPad & "\ " & "Klacht n° " & .Range("B2") & " " & "  (" & Format(Now(), "dd-mm-yyyy h mm") & ")" & ".Pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    
    MsgBox "Het formulier is succesvol opgeslagen!"
            
    ActiveSheet.Protect Password:="?????"
    Application.ScreenUpdating = True
    End Sub

  6. #6
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Ik mis hier een dubbele punt:
    Code:
     sPad = "D:\Kantoorpersoneel\Voorbeeldmap\"
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  7. #7
    Junior Member
    Geregistreerd
    17 januari 2018
    Dat klopt... per ongeluk fout overgenomen hier. In de code in mijn excelbestand staat het goed. Mijn opmerking/vraag wijzigt er niet door.

  8. #8
    Junior Member
    Geregistreerd
    17 januari 2018
    Voor de goede orde: in de code heb ik onderstaande coderegel uitgezet:

    Code:
    '        sPad = sPad & Pad(i) & "\"'

  9. #9
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    @wroefkes,

    Je hebt nog niet voldaan aan het verzoek in https://www.helpmij.nl/forum/showthr...=1#post6159220.
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  10. #10
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Als de code verder ook niet veranderd is zou dat nog steeds moeten werken als het eerder al werkte.
    De toevoeging van het standaardpad verandert daar niets aan.
    Laatst aangepast door snb : 11 januari 2019 om 13:54
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  11. #11
    Junior Member
    Geregistreerd
    17 januari 2018
    @snb Ik weet nu niet waar je op doelt. Een voorbeeldbestand? Heb ik nu niet voorhanden helaas.

    @Edmoor
    Als ik sPad = sPad & etc weer 'aanzet' wordt in de doelmap een submap aangemaakt met als naam de doelmaplocatie en klachtnummer. Daarin wordt het pdf bestand geplaatst.

  12. #12
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    @Wroefkes

    In #2 gaat het over code tags.
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  13. #13
    Junior Member
    Geregistreerd
    17 januari 2018
    Die heb ik nu toch geplaatst? Of had ik het opnieuw moeten posten?

  14. #14
    Giga Honourable Senior Member
    Verenigingslid

    Geregistreerd
    12 juni 2008
    Svp aanpassen in post #1
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  15. #15
    Junior Member
    Geregistreerd
    17 januari 2018
    Ok, wist niet dat dat nog kon...

  16. #16
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Quote Origineel gepost door wroefkes Bekijk Bericht
    @Edmoor
    Als ik sPad = sPad & etc weer 'aanzet' wordt in de doelmap een submap aangemaakt met als naam de doelmaplocatie en klachtnummer. Daarin wordt het pdf bestand geplaatst.
    Dus?
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  17. #17
    Junior Member
    Geregistreerd
    17 januari 2018
    Er moet een submap worden aangemaakt met als naam '2019 - 1' (als het klachtnr 1 betreft). Daarin het pdf bestand met naam 'klachtnr 1 + datum + tijdstip. Dat gebeurde met de oude code. Alleen standaard op de lokale schijf onder de documentenmap.
    Ik wil dus alleen de opslaglocatie wijzigen en verder niets.

  18. #18
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Met de optie die ik je gaf ben je er helemaal vrij in.
    De standaard opslaglocatie van Office documenten wijzig je zo:
    https://support.office.com/nl-nl/art...e-b78c60dd5d3b

    Maar dat geldt dan uiteraard alleen op de computer waar je die actie hebt uitgevoerd.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  19. #19
    Junior Member
    Geregistreerd
    17 januari 2018
    Bedankt Edmoor ik dat ik daarmee wel uit de voeten kan! Ik za het gaan testen. Goed weekend.

  20. #20
    Junior Member
    Geregistreerd
    17 januari 2018
    Beste Edmoor,

    De optie om de opslaglocatie aan te passen werkt. Dan hoef ik de code verder niet aan te passen en krijgt de submap de naam van de klacht (2019 - 1, 2019 - 2, etc). Als ik sPad = T:\voorbeeld\voorbeeld benoem dan werkt voorgaande niet meer, maar wordt er een submap aangemaakt met de naam van sPad en dat is niet de bedoeling. Bovendien komt de klacht niet onder die betreffende submap te staan.

    Het is in ieder geval opgelost!

    Groet W.

  21. Dit topic is automatisch gesloten omdat er sinds vier maanden niet meer op gereageerd is.

    Indien gewenst kan de topicstarter een verzoek tot heropening indienen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren