Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    9

    applicare una macro a tutti i file contenuti in una cartella

    Buona sera,
    vorrei applicare una macro di modifica dei file di word a tutti i file .doc contenuti in una cartella predefinita. La macro è quella che ho messo a punto per questo post:
    http://forum.html.it/forum/showthrea...readid=2920507

    Ho trovato a questo link http://nclabs.blogspot.it/2012/01/ma...o-tutti-i.html
    una macro ma non sono riuscito a farla funzionare al mio scopo...

    Spero possiate aiutarmi.
    Grazie
    Francesco

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Con quale codice? Come possiamo aiutarti noi se non sappiamo quali difficoltà incontri?
    Quel codice funziona per i file xls... Va adattato per aprire i file word.. no?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    9
    Quote Originariamente inviata da renygade Visualizza il messaggio
    Con quale codice? Come possiamo aiutarti noi se non sappiamo quali difficoltà incontri?
    Quel codice funziona per i file xls... Va adattato per aprire i file word.. no?
    Ciao renygade,
    nel post ho cercato di essere quanto più esaustivo, se non ci sono riuscito me ne scuso.

    Vorrei creare una macro in linguaggio VBA per word.

    La nuova macro dovrebbe consentirmi di eseguire una macro (VBA word) su tutti i file word contenuti in una cartella predefinita.

    Si la macro del link

    http://nclabs.blogspot.it/2012/01/ma...o-tutti-i.html

    credo sia specifica per i file di excel, ma non conosco quali sono i comandi da modificare e come. :-(

    Potresti aiutarmi?

    Grazie
    Francesco
    Ultima modifica di 16fra; 11-01-2015 a 20:45

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da 16fra Visualizza il messaggio
    Ciao renygade,
    nel post ho cercato di essere quanto più esaustivo, se non ci sono riuscito me ne scuso.

    Vorrei creare una macro in linguaggio VBA per word.

    La nuova macro dovrebbe consentirmi di eseguire una macro (VBA word) su tutti i file word contenuti in una cartella predefinita.

    Si la macro del link

    http://nclabs.blogspot.it/2012/01/ma...o-tutti-i.html

    credo sia specifica per i file di excel, ma non conosco quali sono i comandi da modificare e come. :-(

    Potresti aiutarmi?

    Grazie
    Francesco
    Se per aiuto intendi un codice bello e pronto, la risposta è no.
    Oltre al fatto che va contro le regole del forum, sinceramente nemmeno io saprei come fare quanto chiedi.
    Però se fossi al posto tuo, procederei così: proverei a usare il codice del link facendo prove/tentativi e magari ulteriori ricerche su internet. Insomma, proverei ad adattarlo finché funziona. Credo che anche tu dovresti provare a fare così.
    Lavoraci un po' su e nel caso puoi chiedere aiuto se c'è qualcosa che non è chiaro, qualche passaggio o istruzione della quale la documentazione (e x VBA sul sito msdn c'è tanto) non ti è chiaro.
    Non penso che qui sul forum ci siano persone disposte a lavorare al posto tuo.
    Ricapitolando, qui in genere si forniscono aiuti/suggerimenti su codice già impostato... Non lavori già finiti.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    9
    a scanso di equivoci in questi giorni ci ho lavorato smanettando, cercando di correggere le parti di codice palesemente legate ad excel, ma con scarso succeso... poi ho postato nel forum.
    ad ogni modo non cerco ne la pappa scodellata ne tanto meno vorrei rubare tempo e/o altro a nessuno.

    Il codice che ho trovato ha tutti i presupposti per funzionare purtroppo è specifico per excel...
    non sono riuscito a trovare delle indicazioni precise per convertirlo in modo opportuno...
    Di seguito riporto il codice del link in versione originale in modo che non ci siano miei errori:
    Sub ExecuteApplyMacroToAllFiles()

    'Change the path to the main folder
    Call ApplyMacroToAllFiles("C:\test folder")

    End Sub

    Sub ApplyMacroToAllFiles(ByVal MyPath As String)

    Dim FileSys As Object
    Dim objFolder As Object
    Dim objSubFolder As Object
    Dim objFile As Object
    Dim wkbOpen As Workbook

    Set FileSys = CreateObject("Scripting.FileSystemObject")
    Set objFolder = FileSys.GetFolder(MyPath)

    Application.ScreenUpdating = False

    For Each objSubFolder In objFolder.SubFolders
    For Each objFile In objSubFolder.Files
    Set wkbOpen = Workbooks.Open(filename:=objFile)
    'Change the name of your macro
    Call MyMacro
    wkbOpen.Close savechanges:=True
    Next
    Call ApplyMacroToAllFiles(objSubFolder.Path)
    Next

    Application.ScreenUpdating = True

    End Sub

    Se qualcuno sa darmi dell indicazioni su dove trovare i comandi VBA di word e eventualmente ha qualche suggerimento per portare a buon fine questo script ne sarei molto grato.

    Buona serata e buon inizio settimana a tutti...
    ;-)
    Grazie
    ;-)
    Ultima modifica di 16fra; 12-01-2015 a 00:16

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da 16fra Visualizza il messaggio
    a scanso di equivoci in questi giorni ci ho lavorato smanettando, cercando di correggere le parti di codice palesemente legate ad excel, ma con scarso succeso... poi ho postato nel forum.
    ad ogni modo non cerco ne la pappa scodellata ne tanto meno vorrei rubare tempo e/o altro a nessuno.

    Il codice che ho trovato ha tutti i presupposti per funzionare purtroppo è specifico per excel...
    non sono riuscito a trovare delle indicazioni precise per convertirlo in modo opportuno...
    Di seguito riporto il codice del link in versione originale in modo che non ci siano miei errori:
    Sub ExecuteApplyMacroToAllFiles()

    'Change the path to the main folder
    Call ApplyMacroToAllFiles("C:\test folder")

    End Sub

    Sub ApplyMacroToAllFiles(ByVal MyPath As String)

    Dim FileSys As Object
    Dim objFolder As Object
    Dim objSubFolder As Object
    Dim objFile As Object
    Dim wkbOpen As Workbook

    Set FileSys = CreateObject("Scripting.FileSystemObject")
    Set objFolder = FileSys.GetFolder(MyPath)

    Application.ScreenUpdating = False

    For Each objSubFolder In objFolder.SubFolders
    For Each objFile In objSubFolder.Files
    Set wkbOpen = Workbooks.Open(filename:=objFile)
    'Change the name of your macro
    Call MyMacro
    wkbOpen.Close savechanges:=True
    Next
    Call ApplyMacroToAllFiles(objSubFolder.Path)
    Next

    Application.ScreenUpdating = True

    End Sub

    Se qualcuno sa darmi dell indicazioni su dove trovare i comandi VBA di word e eventualmente ha qualche suggerimento per portare a buon fine questo script ne sarei molto grato.

    Buona serata e buon inizio settimana a tutti...
    ;-)
    Grazie
    ;-)
    Hai provato questo metodo?
    http://msdn.microsoft.com/en-us/libr...ice.15%29.aspx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.