Software: Excel VBA no completa el nombre de archivo predeterminado en el cuadro de diálogo Guardar como

Software: Excel VBA no completa el nombre de archivo predeterminado en el cuadro de diálogo Guardar como

Tengo un problema con algún código VBA en mi libro maestro de Excel. Tengo dos fragmentos de código. El código A funciona bien. El código B no funciona bien.

El primer fragmento de código (Código A), que funciona bien, crea un directorio y guarda el libro de Excel en él, extrayendo el nombre tanto del directorio como del archivo de una celda B4.

El segundo fragmento de código (Código B) va a un directorio y abre un cuadro de diálogo para guardar como, y se supone que debe llenar el cuadro de nombre de archivo inicial con información de la celda B4. Sin embargo, todo funciona excepto que el nombre del archivo inicial no se completa automáticamente. Solía; estaba funcionando justo antes de cambiar todas las referencias de macros para las unidades asignadas (las cambié de las unidades de letras asignadas a la ruta UNC para que el archivo pueda usarse en la red, es decir, Z:\In Progress\ a \10.0.0.4 \datos\En curso).

Lo extraño es que no tengo ningún problema para acceder a la red después de cambiar desde la unidad asignada -> rutas UNC. Simplemente parece ser este pequeño fallo.

Compilé el proyecto y lo depuré.

Si alguien tiene una idea sobre cómo completar el nombre del archivo inicial para el Código B, se lo agradecería mucho.

CÓDIGO A

    Option Explicit
Sub SaveAsNewJobtoIP()
'This macro creates a New Folder in the In Progress File, named off the BILLING CLIENT Name.
Dim Path As String
Dim InitialName As String
Dim sFileSaveName As Variant

    Path = "\\10.0.0.4\data\In Progress\"

        If Len(Dir("\\10.0.0.4\data\In Progress\" & ActiveSheet.Range("B4").Value, vbDirectory)) = 0 Then
        MkDir Path & ActiveSheet.Range("B4").Value
        End If

'This macro saves the workbook with a Dialog and an Initial Filename
    InitialName = ActiveSheet.Range("B4").Value & " " & ActiveSheet.Range("H2") & " " & ActiveSheet.Range("I2") & " " & ActiveSheet.Range("J2")
    sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=Path & InitialName, FileFilter:="Excel Files (*.xlsm), *.xlsm")

    If sFileSaveName <> False Then
    ActiveWorkbook.SaveAs sFileSaveName
    End If
End Sub

CÓDIGO B

    Option Explicit
Sub SaveAsNewQuoteinJCF()
'This macro saves the workbook with a Dialog and an Initial Filename
Dim Path As String
Dim InitialName As String
Dim sFileSaveName As Variant

    Path = "\\10.0.0.4\data\Job Cost Folder\Jill\"
    InitialName = "Estimate " & ActiveSheet.Range("B4").Value
    sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=Path & InitialName, FileFilter:="Excel Files (*.xlsm), *.xlsm")

    If sFileSaveName <> False Then
    ActiveWorkbook.SaveAs sFileSaveName
    End If
End Sub

Respuesta1

Me tomó un poco de investigación e intentar descubrir el panorama de mi red local, pero con la ayuda de los comentarios descubrí que todo lo que tenía que hacer para solucionar el problema era:

Reemplace la ruta UNC con el nombre real de la computadora. Entonces cambié

"\\10.0.0.4\" ---> "\\Server-pc\"

y el problema quedó solucionado. Pensé que 10.0.0.4 era el nombre de la computadora servidor, pero en realidad era solo una ruta. Cambiar de la ruta UNC al nombre real de la computadora también resolvió otro problema por el cual las macros recibían errores de tiempo de ejecución (1004) porque la ruta UNC de mi compañero de trabajo era en realidad 10.0.0.3.

información relacionada