Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Macro che compila file word e genera pdf

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

[Excel] Macro che compila file word e genera pdf

Postdi *sara* » 06/03/14 12:50

Ciao a tutti,
avrei bisogno di fare una cosa un po' complicata...

Ho una cartella (Cartella1) con all'interno un file excel e un file word.
Nel file excel sono presenti certi valori disposti su righe e nel file word ci sono certi segnalibri.

Ho bisogno di una macro nel foglio excel che:
per un numero determinato di righe di excel
crei una sottocartella di Cartella1 con il nome presente nella prima cella della riga del foglio excel
apra il file word con i segnalibri (presente in Cartella1)
inserisca nel file word in corrispondenza dei segnalibri i valori presenti nella riga del foglio excel
salvi nella sottocartella il file word con il nome presente nella prima cella della riga del foglio excel (cioè lo stesso nome della sottocartella)
salvi nella sottocartella il file anche in pdf (sempre con lo stesso nome).

Posto quanto ho già fatto:

Codice: Seleziona tutto
Sub GeneraFileTramiteSegnalibri()

On Error GoTo RigaErrore

    Dim objWord As Object
    Dim objDoc As Object
    Dim Percorso As String
    Dim NomeFile As String
    Dim sh As Worksheet
    Dim RigaUltimoNome As Integer
    Dim NumRiga As Long
   
    Set sh = ThisWorkbook.Worksheets("Foglio2")
' utilizzo il file su più pc quindi
' ho inserito una cella con menù a tendina dal quale ogni volta indicherò il percorso corretto
' sono stata attenta a scrivere il percorso con \ finale!!!
    Percorso = [J6].Text
    NomeFile = "File con segnalibri.doc"
   
    With sh
        RigaUltimoNome = [B22].Value + 1
        Set objWord = CreateObject("Word.Application")
        For NumRiga = 2 To RigaUltimoNome
            If Dir(Percorso) <> "" Then
                Set objDoc = objWord.Documents.Open(Percorso & NomeFile)
                objDoc.Bookmarks("Nome").Range.Text = .Range("B" & NumRiga).Value
                objDoc.Bookmarks("Indirizzo").Range.Text = .Range("C" & NumRiga).Value
               
                objDoc.SaveAs (Percorso & .Range("B" & NumRiga).Value & ".doc")
                objWord.Visible = True
               
         ActiveDocument.ExportAsFixedFormat OutputFileName:= _
         Percorso & ActiveDocument.Name & ".pdf", ExportFormat:=wdExportFormatPDF, _
         OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
         wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
         IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
         wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
         True, UseISO19005_1:=False
               
                objDoc.Close
                Set objDoc = Nothing
            End If
        Next
    End With
   
RigaChiusura:
    If Not objWord Is Nothing Then
        objWord.Quit
        Set objWord = Nothing
    End If
        Set WordApp = Nothing
     
             
MsgBox "FILE GENERATI!"
Exit Sub
       
RigaErrore:
    MsgBox Err.Number & vbNewLine & Err.Description
    Resume RigaChiusura
End Sub


Va tutto bene tranne:
- nel nome del file pdf compare".doc"
- i file vengono salvati in Cartella1

Qualcuno può aiutarmi a correggere il codice?
GRAZIE
Avatar utente
*sara*
Utente Junior
 
Post: 48
Iscritto il: 06/03/14 11:34

Sponsor
 

Re: [Excel] Macro che compila file word e genera pdf

Postdi *sara* » 06/03/14 17:25

ho risolto...
Avatar utente
*sara*
Utente Junior
 
Post: 48
Iscritto il: 06/03/14 11:34

Re: [Excel] Macro che compila file word e genera pdf

Postdi Anthony47 » 06/03/14 20:58

Ciao *sara*, lieto che hai risolto da sola; comunque ti do' almeno un tardivo "benvenuta nel forum".

Se vuoi condividere la tua esperienza puoi indicare "come" hai risolto; a qualcun altro tornera' certamente utile...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Macro che compila file word e genera pdf

Postdi *sara* » 10/03/14 22:50

Ciao!
Per togliere ".doc" dal nome del file pdf ho tolto
& ".doc"
da questa istruzione:
objDoc.SaveAs (Percorso & .Range("B" & NumRiga).Value & ".doc")
E, sempre nella stessa istruzione, ho inserito l'intero percorso (compresa la cartella da creare) per salvare i file come volevo!
Avatar utente
*sara*
Utente Junior
 
Post: 48
Iscritto il: 06/03/14 11:34


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Macro che compila file word e genera pdf":


Chi c’è in linea

Visitano il forum: Maury170419 e 15 ospiti