Vanuit een bestaand workbook maak ik, met VBA, een nieuw workbook en sla dit op.
Zolang het nieuwe workbook niet eerder werd opgeslagen werkt het prima. De code geeft een foutmelding als het nieuwe workbook, dat reeds eerder werd opgeslagen, opnieuw save.
Ik heb de code nochtans overgenomen uit het boek Mastering VBA.
Ik werk met Excel 2003, NL
Wat doe ik fout?
Alvast stevig bedankt voor je spontane ondersteuning!
Erik
Zolang het nieuwe workbook niet eerder werd opgeslagen werkt het prima. De code geeft een foutmelding als het nieuwe workbook, dat reeds eerder werd opgeslagen, opnieuw save.
Ik heb de code nochtans overgenomen uit het boek Mastering VBA.
Code:
Option Explicit
Sub main()
Dim sPath As String
'Maak vanuit de code van de huidige workbook
'en nieuwe workbook en sla op nieuweWB.xls in dezelfde directory
sPath = ActiveWorkbook.Path
MaakNieuweWorkbook sPath, "nieuweWB.xls"
End Sub
Sub MaakNieuweWorkbook(strpad As String, wbNaam As String)
Dim mySiNW As Integer 'variabele om het standaard aantal worksheets in nieuw workbooks op te vangen
'Voorbereiding
'eindigt het pad op "\"
If Right(strpad, 1) <> "\" Then
strpad = strpad & "\"
End If
'vang het standaard aantal worksheets op
mySiNW = Application.SheetsInNewWorkbook
'wijzig het standaard aantal voor deze toepassing
Application.SheetsInNewWorkbook = 1
'nieuwe workbook
Workbooks.Add
'zet standaard terug
Application.SheetsInNewWorkbook = mySiNW
'sla workbook op
'check of reeds en workbook met deze naam bestaat
If Does_File_Exist(strpad, wbNaam) Then
Workbooks(strpad & wbNaam).Save 'PROBLEEM XXXXXXXXXXXXXX
Else
ActiveWorkbook.SaveAs Filename:=strpad & wbNaam
End If
End Sub
Function Does_File_Exist(sPad As String, sNaam As String) As Boolean
Dim StrTestFile As String
If sNaam = "" Then End
If Right(sPad, 1) = "\" Then
StrTestFile = Dir(sPad & sNaam)
Else
StrTestFile = Dir(sPad & "\" & sNaam)
End If
If Len(StrTestFile) = 0 Then
Does_File_Exist = False
Else
Does_File_Exist = True
End If
End Function
Ik werk met Excel 2003, NL
Wat doe ik fout?

Alvast stevig bedankt voor je spontane ondersteuning!
Erik