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

Opslaan bestand onder naam van bepaald veld

Status
Niet open voor verdere reacties.

Japsur

Gebruiker
Lid geworden
9 apr 2004
Berichten
650
Hallo,

Ik heb een kostencalculatie voor m'n werkgever gemaakt. Dit is een standaardkostencalculatie.
Zo komt er in veld Milieu!B1 altijd een nummer staan. Opdrachtnummer dat intern gebruikt wordt. Nu gebruiken we elders nog software die onder dat zelfde nummer een map ergens op de server aanmaakt. Nu was de vraag of ik niet het zo kon maken dat de kostencalculatie in die map komt te staan zonder dat ze hoeven te zoeken in welke map die komt (opslaan als gebeuren).

Dus stel:
Milieu!B1 = 26262
Dan moet hij deze opslaan onder de locatie C:\opdrachten\26262\kostencalculatie.xls

Bij een ander nummer:
26700 > C:\opdrachten\26700\kostencalculatie.xls

Weet iemand hoe ik dit moet maken in vba bij het afsluiten van het bestand?
Alvast bedankt!
 
Dag

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim path As String
    path = "C:\opdrachten\" & Worksheets("Milieu").Range("B1")
    If Len(Dir(path, vbDirectory)) = 0 Then MkDir path
    ActiveWorkbook.SaveAs Filename:=path & "\kostencalculatie.xls"
End Sub

Als ik deze code gebruik, wordt het bestand goed opgeslagen, maar crasht Excel en moet ik opnieuw opstarten. Maar het bestand is wel goed opgeslagen.

Misschien kun jij eens testen en wat aanpassen zodat jouw Excel niet crasht.

Wigi
 
Mijn code ziet er zo uit, dit werkt perfect eerlijk gezegd nu. Hij crasht niet.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.ReadOnly Then
ThisWorkbook.SaveAs Filename:="Y:\Algemeen\" & Worksheets("Milieu").Range("B1").Value & "\" & Worksheets("Milieu").Range("B1").Value & " " & "Kostencalculatie" & ".xls"
End If
End Sub

dus hij slaat hem op in de map van het nummer en geeft de naam: nummer kostencalculatie.xls

Vervolgens moet ik nog wat mogelijkheden hierin verwerken.
Soms moet er per project 2 kostencalculaties of meer worden gemaakt. Wanneer ik deze code gebruik geeft hij aan dat er al 1 bestaat. Je krijgt dan de vraag van overschrijven of niet. Dit wil ik niet, hij moet hem dan opslaan in de map van het nummer maar de naam van het bestand moet dan iets worden in de geest van nummer-1 (nummer-2, nummer-3) kostencalculatie.xls
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan