+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: convertire file .csv in file .xlsx con una macro

  1. #1
    Panio non è in linea Novello
    Post
    4

    convertire file .csv in file .xlsx con una macro

    Buon giorno a tutti.

    E' facile aprire un file.csv manualmente ed esportarlo nel formato .xlsx.

    Se, però, si registra una macro con questo compito, e poi la si esegue, l'esito è scorretto.
    Cioè, quando il file.csv viene aperto tramite l'esecuzione della riga della macro, esso risulta "deteriorato" e, quindi, a maggior ragione, anche il file.xlsx che ne consegue.
    Perché? Forse perché il codice VBA Excel apre solo file con estensione pertinenti a Excel?
    C'è un modo per superare l'ostacolo?

    Grazie

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,004
    Blogs
    5
    Di quale codice parli?

    P.S. ho spostato nella sezione Excel
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    Panio non è in linea Novello
    Post
    4
    parlo di VBA per excel

  4. #4
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,004
    Blogs
    5
    Questo l'avevo capito, apposta ho spostato nella sezione Excel.

    Ma qual è il codice che hai usato?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  5. #5
    Panio non è in linea Novello
    Post
    4
    Il codice è stato generato dal registratore di macro.
    codice:
    Sub ApriEsporta()
    '
    ' ApriEsporta Macro
    '
        Workbooks.Open Filename:= _
            "C:\Users\HP-Panio\Google Drive\Documents\Castiglione\P_121\distributore\EffePlastCSV\012012.csv"
        
        ActiveWorkbook.SaveAs Filename:= _
            "C:\Users\HP-Panio\Google Drive\Documents\Castiglione\P_121\distributore\EffePlastCSV\012011.xlsx" _
            , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    
        ActiveWindow.Close
    End Sub
    Il primo comando apre il file "012012.csv".
    Il secondo comando salva (esporta) il predetto file con estensione xlsx.
    Eseguita l'operazione a mano, cioè andando a cliccare sul file.csv col mouse e poi esportando con estensione xlsx, tutto funziona correttamente.
    E' nella macro che il comando di aprire non ha funzionato come mi aspettavo.
    Difatti, se interrompo la macro a metà percorso, trovo che il file.csv è corrotto.

    Grazie dell'interessamento
    Ultima modifica di AntonioG; 25-05-2018 20:35  Motivo: Usa i tag code vedi regolamento

  6. #6
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    199
    Leggi la guida in merito al metodo Open e imposta correttamente i parametri Format e Delimiter.

    In oltre, usa il tag CODE per il codice. ;-)

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi