Página 1 de 1

Alteração em código VBA - Mudar nome do arquivo.

Enviado: 26 Set 2016 às 16:45
por victormonfort
Boa tarde pessoal,

Não foi possível dar continuidade ao meu tópico passado, mas eu resolvi de outra forma, bem melhor por sinal.

Porém estou com dois problemas. Preciso que, nesse código , o nome do arquivo salvo fique de uma forma que utilize os conteúdos do userform.
Código: Selecionar todos
Private Sub UserForm_Initialize()
     lin = 2
    Do Until Plan1.Cells(lin, 1) = ""
         ComboBox1.AddItem Plan1.Cells(lin, 1)
         lin = lin + 1
     Loop
End Sub

Private Sub CommandButton1_Click()

    Dim Word As Word.Application
    Dim DOC As Word.Document
    
    Set Word = CreateObject("Word.Application")
    Word.Visible = True
    
    Set DOC = Word.Documents.Open("C:\Users\victor.monfort\Downloads\modelo.docx")
    
    With DOC
        '*Dados Amostra
        .Application.Selection.Find.Text = "#NOMEETA"
        .Application.Selection.Find.Execute
        .Application.Selection.Range = ComboBox1
        
        .Application.Selection.Find.Text = "#HORACOLETA"
        .Application.Selection.Find.Execute
        .Application.Selection.Range = txt_horacoleta
        
        .Application.Selection.Find.Text = "#COR"
        .Application.Selection.Find.Execute
        .Application.Selection.Range = txt_cor
        
        .Application.Selection.Find.Text = "#TURB"
        .Application.Selection.Find.Execute
        .Application.Selection.Range = txt_turb
        
        .Application.Selection.Find.Text = "#CLOR"
        .Application.Selection.Find.Execute
        .Application.Selection.Range = txt_clor
        
        .Application.Selection.Find.Text = "#DATARE"
        .Application.Selection.Find.Execute
        .Application.Selection.Range = txt_datare

End With

ChangeFileOpenDirectory "C:\Users\victor.monfort\Desktop\"
    ActiveDocument.SaveAs Filename:="Relatorio.docx", FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
End Sub
No caso, seria para ao invés de ser "Relatorio.docx" para todos os documentos gerados (o que causa um erro porque o arquivo já existe quando vai gerar o segundo) seria: "Relatorio do dia txt_datare na hora txt_horacoleta", no qual txt_datare e txt_horacoleta são campos do userform.

O outro problema é que essa planilha precisa ser acessada em mais de um computador, e para não precisar editar o código individualmente para fornecer a localização do modelo.docx (C:\Users\victor.monfort\Downloads\modelo.docx), tem alguma coisa que eu possa fazer para automatizar isso?

O mais importante para mim é o nome do arquivo mesmo, o outro eu posso fazer manualmente.

Sou totalmente leigo em excel, e muito mais em VBA, mas como um bom estudante, estou pesquisando na medida do possível.

Obrigado a todos, abraço.

Re: Alteração em código VBA - Mudar nome do arquivo.

Enviado: 27 Set 2016 às 08:21
por alexandrevba
Bom dia!!

Use a pesquisa do fórum, o link abaixo deve ajudar com sua primeira dúvida.
http://gurudoexcel.com/forum/viewtopic.php?f=12&t=3132

Para a sua segunda dúvida, até a versão 2010, tem o recurso abaixo:
https://support.office.com/pt-br/articl ... c59a628534
http://dicasdetecnologia.com/2011/02/co ... -no-excel/

Att

Re: Alteração em código VBA - Mudar nome do arquivo.

Enviado: 29 Set 2016 às 10:56
por victormonfort
Obrigado!

Na realidade eu tinha visto o tópico após fazer o meu post, mas como tinha a segunda parte eu deixei.