Condividi tramite

Riferimenti VBA Excel Word 2003-2013

Anonimo
2015-07-24T07:11:36+00:00

Non sono molto pratico di VBA...

Ho un file di Excel 2003 con una macro che mi crea un documento di Word 2003.

I riferimenti sono:

  • Visual Basic For Application
  • Microsoft Excel 11.0 Object Library
  • Microsoft Forms 2.0 Object Library
  • Microsoft Word 11.0 Object Library

Fin qui tutto bene. Apro il file anche con un pc con Office 2013: ed anche qui funziona.

Il problema è quando ritorno ad aprire il file con Excel 2003 e mi trovo l'errore

"Errore caricamento DLL": il file poi non può venir salvato.


Se apro i riferimenti vedo che MS Word 11.0 è stato sostituito da Word 15.0 !!!

Ovviamente viene segnalata come MANCA

Per risolvere il problema ed utilizzare il file con le macro devo seguire la seguente procedura SCOMODA:

  1. Su Excel 2003 imposto la protezione delle macro su Elevato (se non lo faccio l'errore di cui sopra continua a presentarsi)
  2. Apro il file
  3. Tolgo il riferimento a Word 15.0 Objects
  4. Metto quello 11.0
  5. Salvo
  6. Reimposto la protezione su basso
  7. Riapro e funziona

Abbiamo necessità di poter utilizzare il file in questione su tutti i pc con Office, molti purtroppo con versione 2003 e non aggiornabili al momento.

Quindi mi chiedo se c'è un modo per utilizzare il file senza intoppi. Idee?

Microsoft 365 e Office | Installare, riscattare, attivare | Per la casa | Altro

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2015-07-24T13:30:37+00:00

    Bene.

    Qui sotto ti incollo un esempio di codice che NON necessita dei riferimenti alle librerie. In grassetto le dichiarazioni *astratte*. Devi togliere poi i riferimenti alle librerie. Nota che eventualmente alcune costanti/proprietà vanno modificate con il loro valore numerico, vedi:

    Prova e vedi se riesci da solo a modificare il tuo file.

    Nuovo file:

    Public Sub m()

    On Error GoTo RigaErrore

    Dim objWord As Object

    Dim objDoc As Object

    Dim objSelection As Object

    Set objWord = CreateObject("Word.Application")

    Set objDoc = objWord.Documents.Add()

    Set objSelection = objWord.Selection

    objWord.Visible = True

    With Worksheets("Foglio1")

    .Range("A1:C5").Copy

    objDoc.Select

    objSelection.Paste

    End With

    'objDoc.Saved = True

    RigaChiusura:

    objWord.Quit

    Set objSelection = Nothing

    Set objDoc = Nothing

    Set objWord = Nothing

    Application.CutCopyMode = False

    Exit Sub

    RigaErrore:

    MsgBox Err.Number & vbNewLine & Err.Description

    Resume RigaChiusura

    End Sub

    Codice per aprire un file di Word esistente senza usare i riferimenti.

    Public Sub m()

    On Error GoTo RigaErrore

    Dim objWord As Object

    Dim objDoc As Object

    Dim strPath As String

    strPath = "C:\mioFile.doc"

    If Dir(strPath) <> "" Then

    Set objWord = CreateObject("Word.Application")

    Set objDoc = objWord.Documents.Open(strPath)

    Else

    MsgBox "File non trovato"

    Exit Sub

    End If

    objWord.Visible = True

    'objDoc.Saved = True

    RigaChiusura:

    objWord.Quit

    Set objDoc = Nothing

    Set objWord = Nothing

    Exit Sub

    RigaErrore:

    MsgBox Err.Number & vbNewLine & Err.Description

    Resume RigaChiusura

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-07-24T09:09:38+00:00

    Mi chiede la password....

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-07-24T09:02:40+00:00

    Ho rimosso i dati. Ecco qui

    http://1drv.ms/1gRQEDn

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  4. Anonimo
    2015-07-24T07:49:49+00:00

    Non utilizzare i riferimenti ma *astrai* il tuo codice.

    Condividi il file (se ha dati importanti puoi cancellarli o eliminare i fogli) e vediamo di *astrarre* il codice.

    Per condividere il file utilizza Onedrive o qualsiasi altro sito di sharing e posta il link al file.

    La risposta è stata utile?

    0 commenti Nessun commento