Stampa da Excell a Word

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Chiara-ExcelForum
00martedì 6 febbraio 2018 10:31
Ciao a tutti, ho ritrovato nel pc un file che avevo utilizzato per ottenere delle esportazioni dei dati (tramite segnalibri) disposti in orizzontale in un foglio Excell su un file di Word.
Il problema è che non riesco più a farlo funzionare e non riesco a capire come mai

Mi potreste aiutare? razie
GiuseppeMN
00martedì 6 febbraio 2018 12:41
Buona giornata, Chiara;
ho provato a riscrivere il Codice VBA e mi sembra funzionare ma, appena ho un attimo di tempo, analizzerò il tuo Codice per capire quale sia l'istruzione che crea problemi.
Preliminarmente basta posizionare il Cursore su una Cella della Riga nella quale in Colonna "A" ci sia il NomeFile da salvare e in Colonna "B" il Valore da riportare in Word e attivare il Codice VBA:
Option Explicit

Sub Trasferisci()
Dim sFILENAME As String
Dim NomeFile As String, NomeFile2 As String, Ragione_Sociale As String
Dim WrdApp As Object, WrdDoc As Object
Const FileDaAprire As String = "Base.docx"

    NomeFile = Cells(ActiveCell.Row, 1).Value
    Ragione_Sociale = Range("B2").Value
        sFILENAME = ThisWorkbook.Path & "\" & FileDaAprire
            Set WrdApp = CreateObject("Word.Application")
                WrdApp.Visible = True
            Set WrdDoc = WrdApp.Documents.Open(sFILENAME)
    With WrdDoc
    .Bookmarks("PROVA").Range.Text = Cells(ActiveCell.Row, 2).Value
        NomeFile2 = ThisWorkbook.Path & "\" & NomeFile & ".docx"
    End With
        WrdApp.ActiveDocument.SaveAs (NomeFile2)
            WrdApp.Quit
Set WrdApp = Nothing
Set WrdDoc = Nothing
End Sub


Ho aggiunto anche un Codice VBA che consente di aprire e visualizzare il File Word selezionato.
Option Explicit

Sub Apri_Word()
Dim sFILENAME As String
Dim NomeFile As String
Dim WrdApp As Object, WrdDoc As Object

    NomeFile = Cells(ActiveCell.Row, 1).Value & ".docx"
        sFILENAME = ThisWorkbook.Path & "\" & NomeFile
            Set WrdApp = CreateObject("Word.Application")
                WrdApp.Visible = True
            Set WrdDoc = WrdApp.Documents.Open(sFILENAME)
                WrdDoc.Activate
    VBA.AppActivate WrdApp.Windows(1).Caption
Set WrdApp = Nothing
Set WrdDoc = Nothing
End Sub


Direi che potresti provare i due Codici sopra proposti; poi, se hai problemi, posso allegare il File con il quale ho eseguito i miei Test.


A disposizione.

Buon Lavoro.

Giuseppe
Chiara-ExcelForum
00martedì 6 febbraio 2018 13:03
Ti ringrazio moltissimo

Finalmente funziona

GiuseppeMN
00martedì 6 febbraio 2018 15:52
Buon pomeriggio, Chiara;
come promesso ho dato uno sguardo al tuo Codice VBA e, come pensavo, il problema era una banalità.

Prova a vedre l'istruzione:
 .Bookmarks("PROVA").Range.Text = PROVA 

PROVA viene considerata una Variabile; una Variabile ... vuota.
Modifica l'istruzione con:
 .Bookmarks("PROVA").Range.Text = Ragione_Sociale 


Dovrebbe funzionare.



A disposizione.

Buon Lavoro.

Giuseppe
Chiara-ExcelForum
00mercoledì 7 febbraio 2018 10:36
hai ragione...grazie molte come sempre
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 05:55.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com