Programas: Excel VBA não preenche o nome de arquivo padrão na caixa de diálogo SaveAs

Programas: Excel VBA não preenche o nome de arquivo padrão na caixa de diálogo SaveAs

Estou tendo um problema com algum código VBA em minha pasta de trabalho mestre do Excel. Eu tenho dois pedaços de código. Código A Funciona bem. O código B não funciona bem.

O primeiro trecho de código (Código A), que funciona bem, cria um diretório e salva a pasta de trabalho do Excel nele, com o nome do diretório e do arquivo sendo extraído de uma célula B4.

O segundo trecho de código (Código B) vai para um diretório e abre uma caixa de diálogo salvar como, e deve preencher a caixa inicial do nome do arquivo com informações da célula B4. No entanto, tudo funciona, exceto que o nome do arquivo inicial não é preenchido automaticamente. Costumava; estava funcionando pouco antes de eu alterar todas as referências de macro para as unidades mapeadas (eu as alterei das unidades de letras mapeadas para o caminho UNC para que o arquivo possa ser usado na rede, ou seja, Z:\In Progress\ para \10.0.0.4 \dados\Em andamento).

O estranho é que não estou tendo problemas para acessar a rede depois de mudar da unidade mapeada -> caminhos UNC. Parece ser apenas uma pequena falha.

Eu compilei o projeto e depurei-o.

Se alguém tiver uma idéia de como preencher o nome do arquivo inicial para o Código B, ficaria muito grato.

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

Responder1

Demorou um pouco para pesquisar e tentar descobrir o cenário da minha rede local, mas descobri com a ajuda dos comentários que tudo o que precisava fazer para corrigir o problema era:

Substitua o caminho UNC pelo nome real do computador. Então eu mudei

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

e o problema foi resolvido. Achei que 10.0.0.4 fosse o nome do computador servidor, mas na verdade era apenas um caminho. Mudar do caminho UNC para o nome real do computador também resolveu outro problema em que as macros recebiam erros de tempo de execução (1004) porque o caminho UNC do meu colega de trabalho era na verdade 10.0.0.3.

informação relacionada