Condividi:        

macro salvare copia del file docm in docx

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

macro salvare copia del file docm in docx

Postdi ifaf_89 » 11/05/17 16:15

Buongiorno a tutti.
premesso che ho letto diversi topic per arrivare a questo punto.
sto creando un documento word che unisca i testi di diversi altri documenti word pescati a scelta tramite menu a tendina da un file excell.

il word e l'excell funzionano a dovere, e sono riuscito pure a mettere i percorsi relativi (se così si possono chiamare su vba)
ho pacchetto office 2016.

ora detto ciò, una volta che il word unione manuali.docm tramite la macro mi ha unito i file .doc e .docx presi dalla cartella manuale temporaneo
vorrei che mi salvasse il risultato nella cartella dove è presente il file unione manuali.docm così: data-manuale.docx
ho provato questo comando ma me lo salva nel desktop e anche con un nome non corretto, all'apertura riavvia la macro con errori ovviamente.
Vi ringrazio dell'aiuto

Codice: Seleziona tutto
Sub AutoOpen()
'
' Document_open Macro
'
'
Dim percorso As String
percorso = ActiveDocument.Path & "\manuale temporaneo"
  ChDir percorso
myName = Dir("*.*")
While myName <> ""
    With Selection
        .InsertFile FileName:=myName, ConfirmConversions:=False
        .InsertParagraphAfter
       ' .InsertBreak Type:=wdSectionBreakNextPage
        .Collapse Direction:=wdCollapseEnd
    End With
    myName = Dir()
Wend

'da qui in poi mi serve il salvataggio ma non me lo fa come vorrei
ActiveDocument.SaveAs FileName:=ActiveDocument.Path & Format(Now(), "yyyy-mm-dd"), FileFormat:=wdFormatDocument
ActiveDocument.Close

End Sub
ifaf_89
Newbie
 
Post: 8
Iscritto il: 11/05/17 15:58

Sponsor
 

Re: macro salvare copia del file docm in docx

Postdi Anthony47 » 11/05/17 23:44

Come da help on line, il metodo SaveAs "Consente di salvare un progetto con un nuovo nome di file in una posizione specifica"
Per cambiare il formato devi usare SaveAs2, che "Salva il documento specificato con un nuovo nome o formato"
Quindi (ottenuto tramite Registra macro):
Codice: Seleziona tutto
        ActiveDocument.SaveAs2 FileName:=ActiveDocument.Path & Format(Now(), "yyyy-mm-dd"), _
      FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
      :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
      :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
      SaveAsAOCELetter:=False, CompatibilityMode:=14

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro salvare copia del file docm in docx

Postdi ifaf_89 » 12/05/17 10:53

ci siamo quasi in questo modo mi salva il file sul desktop in formato "nome della cartella" data.docx

manca ancora un comando secondo me, che è quello di salvarlo nella cartella di origine a fianco al .docm e nel formato
data-nome preimpostato.docx

ho visto che la funzione saveas,o saveas2 ha "format" dopo "filename", e spostando i comandi non mi sembra funzionare.
ifaf_89
Newbie
 
Post: 8
Iscritto il: 11/05/17 15:58

Re: macro salvare copia del file docm in docx

Postdi Anthony47 » 12/05/17 14:59

vorrei che mi salvasse il risultato nella cartella dove è presente il file unione manuali.docm così: data-manuale.docx
Ma questo fantomatico unione manuali.docm e' il file in cui c'e' la macro o e' un'altra cosa che non si sa in quale directory si trova??
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro salvare copia del file docm in docx

Postdi ifaf_89 » 12/05/17 16:04

Io ho una cartella manuali (sul desktop, ma spostandola il risultato non cambia, poichè ha tutti i riferimenti all'interno di essa).

dentro manuali ho altre 2 cartelle, un file excel e un file word in questo modo:
manuali/capitoli
manuali/manuale temporaneo
manuali/unione manuale.docm
manuali/scelta optional.xlsm

la macro che ho postato è dentro il file unione manuale.docm, il quale prende i doc da manuali/manuale temporaneo/...
li unisce in un unico documento.

ora vorrei che lo salvasse così
../manuali/2017.05.12-manuale.docx,

alla fine la cartella manuali dovrebbe essere:
manuali/capitoli
manuali/manuale temporaneo
manuali/unione manuale.docm
manuali/scelta optional.xlsm
manuali/2017.05.12-manuale.docx in aggiunta

Attenzione che questa cartella devo spostarla su un pc o server diverso da dove la sto creando, e quindi ho necessità che ogni comando di VBA usi la stessa come riferimento e non torni alla radice C:/

Grazie mille dell'aiuto prezioso.
ifaf_89
Newbie
 
Post: 8
Iscritto il: 11/05/17 15:58

Re: macro salvare copia del file docm in docx

Postdi Anthony47 » 13/05/17 23:13

Vediamo di comporre una volta per tutte l'istruzione ActiveDocument.SaveAs2 con tutti i dettagli:
Codice: Seleziona tutto
    ActiveDocument.SaveAs2 FileName:=ThisDocument.Path & "\" & Format(Now(), "yyyy-mm-dd") & "-manuale", _
      FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
      :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
      :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
      SaveAsAOCELetter:=False, CompatibilityMode:=14

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro salvare copia del file docm in docx

Postdi ifaf_89 » 19/05/17 16:03

perfetto funziona grazie mille
ifaf_89
Newbie
 
Post: 8
Iscritto il: 11/05/17 15:58


Torna a Applicazioni Office Windows


Topic correlati a "macro salvare copia del file docm in docx":


Chi c’è in linea

Visitano il forum: Ricky0185 e 36 ospiti