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

niet opslaan als bestand al bestaat

Status
Niet open voor verdere reacties.

Pander

Gebruiker
Lid geworden
14 okt 2014
Berichten
198
Hallo,

Ik gebruik de volgende code om een document met een bepaalde naam op te slaan:

Code:
Sub opslaan()
If MsgBox("U staat op het punt om dit bestand op te slaan. Is dit de bedoeling?", vbYesNo, "Blad opslaan?") = vbNo Then Exit Sub
  ActiveWorkbook.SaveAs Filename:= _
      "P:\mijnmap\" & Sheets("Blad1").Range("A3") & ".xls"
End Sub

Wie weet hoe ik ook kan toevoegen dat wanneer het bestand al bestaat met de betreffende naam, er een messagebox verschijnt met de mededeling
dat het opslaan niet kan omdat het bestand al bestaat?

gr,
 
Zoiets:
Code:
Sub opslaan()
    Bestand = "P:\mijnmap\" & Sheets("Blad1").Range("A3") & ".xls"
    If Dir(Bestand) <> "" Then
        MsgBox "Bestand bestaat al"
        Exit Sub
    End If
    If MsgBox("U staat op het punt om dit bestand op te slaan. Is dit de bedoeling?", vbYesNo, "Blad opslaan?") = vbNo Then Exit Sub
    ActiveWorkbook.SaveAs Filename:=Bestand
End Sub
 
Hoi Edmoor,

perfect, dat is het. Ik krijg alleen de volgende melding als ik vervolgens het opgeslagen bestand wil openen:

bestandextensie.JPG

weet jij waar dat mee te maken zou kunnen hebben?
 
Ben je niet de ingebouwde functionaliteit van Excel aan het heruitvinden ?
Wat gaat er mis met .Save of .SaveAs ?
 
Welke versie van Office heb je en met welke versie van Office is het originele document gemaakt?
 
Als je opslaat zonder het fileformatargument krijg je dit.
 
in beide gevallen met de 2010 versie...
op cel A3 zit een validatie. Hier een stukje van de lijst die kan worden geselecteerd:

1 Stadhuis
2 Voormalig wijkzorgc. Het Nieuwe Hoek
3 Dominicuskerk
4 Wijkgebouw De Toekomst
5 Wijk- en Speeltuinvereniging K.I.O.
6 M.f.c. Westenkwartier
7 Wijkzorgcentrum de Hofwijck
8 M.f.c. Tylkedam
9 Wijkgebouw Bilgaard

Die lijst is door middel van een dergelijke formule samengesteld. =A1&" "&B1. Misschien volstrekt overbodige info, maar kan het daarmee te maken hebben?


@snb: ik hoop het niet. Ik heb een origineel bestand dat exact op een bepaalde locatie, met een vooraf gedefinieerde naam dient komen te staan. Omdat verschillende mensen het oorspronkelijke bestand zullen gaan bewerken/invullen en vervolgens moeten gaan opslaan probeer ik zoveel mogelijk te begeleiden dat dit naar mijn wens goed gaat.
 
Als je een met Office 2010 gemaakt document de extensie .xls geeft zal Excel deze daarna openen in Office 2003 compatibiliteit en zal het inderdaad fout gaan.
Sla hem dus op met de juiste extensie. Dus .xlsx als het een document zonder macro's moet zijn en anders .xlsm of .xlsb.
Je moet dan bij het opslaan naast de juiste extensie ook het juiste type opgeven.

Zie FileFormat:
https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.saveas
 
Laatst bewerkt:
Als je het echt wil automatiseren moet je geen bericht laten verschijnen, maar programmeren wat er moet gebeuren als een bestand al bestaat.
De vraag of iemand een bestand wil opslaan als hij/zij op de knop 'opslaan' klikt zou mij als gebruiker mateloos irriteren: waarom zou ik die knop anders aanklikken ?
 
ik snap je redenatie. In dit specieke geval kan ik wel een aantal redenen bedenken waarom die vraag toch nog even nuttig kan zijn.
Voor het echte programmeren kom ik zelf nogal te kort en dit..suits the purpose.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan