MACRO: Problema con gestione estensione Win10 Errore di run-time '9'

Anonimo
2020-10-26T11:07:47+00:00

Ciao a tutti, ho ereditato una macro (converte un file excel in txt dopo essere stato manipolato)  che su Win 7 funzionava perfettamente su Win 10 meno, ho scoperto dopo svariate prove che se in Windows10 visualizzo o nascondo l'estensione dei file questa macro si avvia correttamente senza nessun problema, altrimenti mi appare l'errore:

Run-Time 9 [indice non incluso nell'intervallo] 

se c'è qualche anima pia  che può aiutarmi 

grazie

Allego il materiale

https://we.tl/t-69yFXEYuyS

Microsoft 365 e Office | Excel | Per la casa | Windows

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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2020-10-26T12:02:08+00:00

    Ciao Gianvito,

    Ciao Norman, è evidenziata : 

    Windows(Filename).Activate

    Prova a sostituire la riga evidenziata con:

               Windows(Filename & ".xlsm").Activate

    Se il file di interesse non è un file abilitato per le macro, prova invece

               Windows(Filename & ".xlsx").Activate

    ===

    Regards,

    Norman

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2020-10-26T11:43:26+00:00

    Ciao Gianvito,

    Ciao a tutti, ho ereditato una macro (converte un file excel in txt dopo essere stato manipolato)  che su Win 7 funzionava perfettamente su Win 10 meno, ho scoperto dopo svariate prove che se in Windows10 visualizzo o nascondo l'estensione dei file questa macro si avvia correttamente senza nessun problema, altrimenti mi appare l'errore:

    Run-Time 9 [indice non incluso nell'intervallo] 

    se c'è qualche anima pia  che può aiutarmi 

    grazie

    Allego il materiale

    https://we.tl/t-69yFXEYuyS

    In generale, puoi evitare questo errore includendo sempre l'estensione del file nel tuo codice.

    Per aiutarti ulteriormente, quale riga di codice viene evidenziata quando viene visualizzato il messaggio di errore?

    ===

    Regards,

    Norman

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  3. Anonimo
    2020-10-26T14:35:30+00:00

    Queste macro sono eseguite da uno script che si pesca il fil excel nella cartella e poi applica in sequenza la macro 

    ##############################################################################

    msgBox("Conversione avviata")

    Set objFSO = CreateObject("Scripting.FileSystemObject") 

    Dim excelApplication

    dim fso: set fso = CreateObject("Scripting.FileSystemObject")

    dim CurrentDirectory

    CurrentDirectory = fso.GetAbsolutePathName(".")

    Set excelApplication = CreateObject("Excel.Application")

    Set OutputExcel = excelApplication.Workbooks.Open(CurrentDirectory & "\Macro\Macro.xlsm")   

    Dim filename

    Dim colFiles

    objStartFolder = CurrentDirectory

    Set objFolder = objFSO.GetFolder(objStartFolder)

    Set colFiles = objFolder.Files

    For Each objFile in colFiles

    If Instr(ucase(objFile.Name), UCase(".XLS")) Then filename=objFile.Name

    Next 

     MsgBox "Nome file analizzato: " & CurrentDirectory & "" & filename

     OutputExcel.Worksheets(1).Cells(1,1) =CurrentDirectory & "" & filename

     'msgBox(filename)

    Set OutputExcel2 = excelApplication.Workbooks.Open(CurrentDirectory & "" & filename)

    excelApplication.Visible = True

    excelApplication.DisplayAlerts = False

     'msgBox(filename)

    excelApplication.Application.Run "'Macro.xlsm'!'Seleziona_sheet'"

    'msgBox("Copia_sheet fatta")

    excelApplication.Application.Run "'Macro.xlsm'!'Elimina_warning'"

    'msgBox("Elimina_warning fatta")

    excelApplication.Application.Run "'Macro.xlsm'!'Cancella_colonne'"

    'msgBox("Cancella_colonne fatta")

                    excelApplication.Application.Run "'Macro.xlsm'!'Sostituire_a_capo_con_spazi_e_zero'"

    'msgBox("Sostituire_a_capo_con_spazi_e_zero fatta")

    excelApplication.Application.Run "'Macro.xlsm'!'Modifica_header'"

    'msgBox("Modifica_header fatta")

    excelApplication.Application.Run "'Macro.xlsm'!'Salva_File_csv'"

    'msgBox("Salva_File_csv fatta")

    excelApplication.Workbooks(1).Close

    Const ForReading = 1

    Const ForWriting = 2

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFile = objFSO.OpenTextFile(CurrentDirectory & "\MSTCLL16_SCARTI.TXT", ForReading)

    'msgBox(CurrentDirectory & " lettura file")

    strText = objFile.ReadAll

    strNewText = mid(strText, 1, len(strText)-2)

    objFile.Close

    strNewText1 = strNewText

    strNewText2 = Replace(strNewText1, ",", ";")

    strNewText3 = Replace(strNewText2, ".", ",")

    Set objFile = objFSO.CreateTextFile(CurrentDirectory & "\MSTCLL16_SCARTI.TXT", True)

    'msgBox(CurrentDirectory & " lettura file")

    objFile.WriteLine strNewText3

    objFile.Close

    msgBox("Conversione terminata")

    ##################################################

    Ma a volte funziona , altre no

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-10-26T13:10:56+00:00

    No, Norman ho fatto entrambi i tentativi ma con lo stesso risultato :( :

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2020-10-26T11:46:11+00:00

    Ciao Norman, è evidenziata : 

    Windows(Filename).Activate

    La risposta è stata utile?

    0 commenti Nessun commento