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

melding bestand bestaat al

Status
Niet open voor verdere reacties.

wim1985

Gebruiker
Lid geworden
1 aug 2008
Berichten
94
Ik heb een macro die een bestand aanmaakt. Indien de macro nog een keer gebruikt wordt komt hij met de melding dat het bestand al bestaat.
Dit moet niet. In dit geval moet hij het bestand niet vervangen en doorgaan met de rest van de macro.
Hoe moet dat?

[Sub nacalculatiemaken()
'
' nacalculatiemaken Macro
' De macro is opgenomen op 2-1-2009 door A.Otten.
'

'
Application.CutCopyMode = False
Range("J1").Select
Selection.Copy
Range("K1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("K1").Select
Application.CutCopyMode = False

Sheets("formules").Select

Dim sBestandsnaam As String

Application.ScreenUpdating = False

With ActiveSheet
sBestandsnaam = .Range("M1").Value
.Copy
End With


With ActiveWorkbook
.SaveAs "\\Dirkjan\shareddocs\urenregistratiesysteem\nacalculaties\" & sBestandsnaam
.Close
End With

Application.ScreenUpdating = True

End Sub]
 
Code:
If Dir("\\Dirkjan\shareddocs\urenregistratiesysteem\nacalculaties\" & sBestandsnaam) <> "" Then
    msgbox "bestaat al"
else
    msgbox "bestaat nog niet"
end if
 
Wigi,

Dat bedoel ik niet er komt automatisch al een melding dat het bestand bestaat en of je het wilt overschrijven. Echter dan is de macro gestopt. Als het bestand al bestaat moet hij hem niet overschrijven en gewoon zonder meldingen de macro afmaken.
 
Kijk dan eens naar Application.DisplayAlerts in de helpfiles.

Je kan die tijdelijk op False zetten, code uitvoeren, en dan terug op True.

Wigi
 
En voor de code tags:

Eerst:
Code:
dan: jouw code

dan: [/code ] zonder spatie anders zou dit hier ook veranderen

Door op het # symbool te klikken worden stap 1 en stap 3 al zelf door het forum gezet.

Wigi
 
Code:
Sub nacalculatiemaken()
  Range("J1").Copy Range("K1")
  if dir(Sheets("formules").Range("M1").Value)="" then
    With ActiveWorkbook
      .SaveAs "\\Dirkjan\shareddocs\urenregistratiesysteem\nacalculaties\" & Sheets("formules").Range("M1").Value
      .Close
    End With
  End if
End Sub
 
Wigi,

Dat werk inderdaad goed. Stond bij mij niet bij help maar op google wel.
Echter overschrijft hij het bestand dan wel als het al bestaat en dat mag niet.
Kwam met de if functie niet veel verder

Huidige code:

[Sub nacalculatiemaken()
'
' nacalculatiemaken Macro
' De macro is opgenomen op 2-1-2009 door A.Otten.
'

'
Application.CutCopyMode = False
Range("J1").Select
Selection.Copy
Range("K1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("K1").Select
Application.CutCopyMode = False

Sheets("formules").Select

Dim sBestandsnaam As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False


With ActiveSheet
sBestandsnaam = .Range("M1").Value
.Copy
End With

With ActiveWorkbook
.SaveAs "\\Dirkjan\shareddocs\urenregistratiesysteem\nacalculaties\" & sBestandsnaam
.Close
End With

Application.ScreenUpdating = True
Application.DisplayAlerts = True


Sheets("Werkorder").Select

End Sub]

Zie je nog mogelijkheden

Alvast bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan