Sigues usando código de alguna versión anterior... Nuevamente estás usando una función vieja para llamar a la nueva. Te reclama el resto de parámetros que la llamada que expones no contemplaba en esa versión...
Así quedó el código de la última versión:
' Crear nueva facturación,Abrir una existente.
Private Sub mnuFile_Click(Index As Integer)
Dim File1 As String, File2 As String, NFacturaInicial As Integer
Call CerrarCarrito
Select Case Index
Case 0 ' Nueva facturación
File1 = InputBox("Elija el nombre del fichero para una nueva facturación (no debe existir).", "Nueva Facturacion", "Nueva facturacion" & FILE_EXTENSION_FACTURA)
NFacturaInicial = InputBox("Si la facturación debe empezar con un número específico, indique cual es a continuación:", "NuevaFacturación: Número de facturación inicial", "1")
If (Len(File1) > 0) Then
File1 = AsegurarExtension(File1, FILE_EXTENSION_FACTURA)
File2 = AsegurarExtension(File1, FILE_EXTENSION_FILES)
If (CrearNuevaFacturacion(File1, File2, NFacturaInicial) = True) Then
Call ActivarInterfaz(True)
Call FrmCarrito.Show(vbModeless)
Else
Call ActivarInterfaz(False)
End If
Else
Call MsgBox("Proceso de creación de nueva facturación abortado. No se proporcionó un nombre", vbInformation, "Nueva facturación")
End If
Case 1 ' Leer fichero de facturación
FrmFile.Show 1
If (Len(FrmFile.File) > 0) Then
File2 = FrmFile.File
File1 = (App.Path & "\" & File2)
File2 = App.Path & "\" & AsegurarExtension(File2, FILE_EXTENSION_FILES)
If (ListarFacturacion(File1, File2) = True) Then
Call ActivarInterfaz(True)
Call FrmCarrito.Show(vbModeless)
Else
Call ActivarInterfaz(False)
End If
End If
End Select
End Sub
Como se ve, la función (que ni se llama igual, porque procede del nombre de otro menú), cuando llama a la función CrearFacturación precisa más parámetros...
Diríase que no sabes usar el editor de código para siquiera consultar que parámetros requiere la función a invocar, ni que entiendas los errores que te está marcando sobre la marcha la ejecución del código...
Me pregunto si llegaste a descargar, utilizar o intentar comprender el código de la última versión que te puse hace ya casi dos meses (mensaje 34 del hilo).
Por favor, no me insistas en que te solucione código que quedó solucionado. O usas enteramente una versión previa o enteramente la nueva versión. Los cambos (como te dije entonces), eran tan profundos que exigió retocar prácticamente todo, creo recordar que no quedó ninguna ventana sin que quedara afectada por los cambios. Yo me molesté en actualizar todas esas ventanas con su código para que los cambios que principalmente se solicitaban no dejarán cojo (sin funcionar o malfuncionando) el resto del programa que se vió afectado, además también me tomé la molestia de comentar los cambios que afectaron a cada uno de los módulos de código.
Yo no tengo ninguna forma de saber que cambios has hecho, ni que has tomado de una versión u otra, ni siquiera saber sobre qué versión estás trabajando... ni me siento obligado a resolver tu estulticia una y otra vez, si decides mezclar código de diferentes versiones sin pararte antes a considerar previamente qué implica hacer cambios... porque entonces esto nunca termina.
Es como si alguien comprara un vehículo, le cambia varias piezas de un motor por otro de un vehículo viejo que tenía y espera que el fabricante del nuevo le resuelva los problemas generados de dichos cambios, incluso aunque el fabricante fuera el mismo de ambos vehículos. Incluso aunque por cortesía el fabricante te diera indicaciones de los 'posibles' problemas, si tu sigues haciendo cambios de piezas. Un fabricante vende su vehículo tal cual viene, cualquier cambio y que deje de funcionar, ahí el fabricante (además de anular su garantía) te dirá que los cambios que hagas serán bajo tu cuenta y riesgo...
Igualmente yo de digo que tú como programador debes ser capaz de resolver los problemas que te surjan cuando acometas cambios en un código que era plenamente funcional. Te solucionaría exclusivamente si algo no funcionara correctamente en el código de la última versión, solo porque aún lo conservo y no me costaría dar con cualquier posible error (en el caso de que no fueras capaz de solucionarlo), pero me desentiendo de resolver tus problemas por hacer cambios (y menos tirando de versiones anteriores, o pero mezcla de ellas) ni de acometer nueva funcionalidad.
Lo que es prestar ayuda en la compresnsión, explicación y/o dando código, creo que está más que satisfecho, el resto es dependiente de tus capacidades. Incluso el código que te he dado, aunque es plenamente funcional no es óptimo, pues te lo hice a modo de ejemplo mínimo para operar con ficheros, lo ideal era reconvertirlo para usar con clases y tablas hash, pero que dadas tus limitaciones entiendo que te quedases sin acometer tales cambios.