Moduli VBE - Trasferimento

di il
3 risposte

Moduli VBE - Trasferimento

All'interno di un documento Word (Uso la versione di Office 2016 - Windows 10 Enterprise) ho inserito vari moduli VBE con estensione sia .bas che .frm.

Vorrei copiarli tutti in un altro documento Word: ho provato con la seguente routine:

Sub ModuliVBETrasferisciinAltroDocumentoWord()
On Error Resume Next
For Each vbC In ACTIVEDocument.VBProject.VBComponents
 Select Case vbC.Type
   Case vbext_ct_StdModule
       strVbcExt = ".bas"
   Case vbext_ct_ClassModule
       strVbcExt = ".cls"
   Case vbext_ct_MSForm
       strVbcExt = ".frm"
   Case Else
 End Select
 strvbCName = vbC.Name
 strFilename = "C:\doc2.doc" & "\" & strvbCName & strVbcExt          'Path del file di destinazione
 vbC.Export strFilename
 Next
End Sub

Ma non succede niente, nel senso che non sposta niente ed il file di destinazione resta tale equale.

Potete suggerirmi qualcosa?

3 Risposte

  • Re: Moduli VBE - Trasferimento

    05/10/2023 - coccobello ha scritto:


    Ma non succede niente

    Forse perché c'è un On Error Resume Next che fa andare avanti il codice anche se ci fosse l'errore peggiore del mondo VBA?

    E i “difettucci” visibili già ad occhio nudo mi sembra che ci siano. Seguiamo però la strada istituzionale del buon caro vecchio debug.

  • Re: Moduli VBE - Trasferimento

    Ho provato a fare come mi hai richiesto

    Sub ModuliVBETrasferisciinAltroDocumentoWord()
    For Each vbC In ACTIVEDocument.VBProject.VBComponents
     Select Case vbC.Type
       Case vbext_ct_StdModule
           strVbcExt = ".bas"
       Case vbext_ct_ClassModule
           strVbcExt = ".cls"
       Case vbext_ct_MSForm
           strVbcExt = ".frm"
       Case Else
     End Select
     strvbCName = vbC.Name
     strFilename = "C:\doc2.doc" & "\" & strvbCName & strVbcExt          'Path del file di destinazione
     vbC.Export strFilename      'il debug mi evidenzia in giallo questa espressione
     Next
    End Sub

    Quali sarebbero i difettucci visibili ad occhio?

  • Re: Moduli VBE - Trasferimento

    06/10/2023 - coccobello ha scritto:


    strFilename = "C:\doc2.doc" & "\" & strvbCName & strVbcExt          'Path del file di destinazione
     vbC.Export strFilename      'il debug mi evidenzia in giallo questa espressione

    e oltre ad evidenziare in giallo non dice altro? sai, come descrizione dell'errore è un po' scarna.

    Difettucci ad occhio nudo?

    1. strFilnName = guarda come l'hai costruito, magari fanne un debug.print per vederlo scritto per intero e vedi tu se corrisponde a quello che pensavi.
    2. la tua intenzione copiare tutti i moduli VBA (frm e bas) che hai in un file in un altro. Una metodo che si chiama Export fa entrambe le cose? 
Devi accedere o registrarti per scrivere nel forum
3 risposte