Condividi tramite

Apertura e copia in un file di Excel di un file csv con codice VBA

Anonimo
2015-11-02T14:04:41+00:00

Buon pomeriggio a tutti, ho messo su il codice sottoriportato per aprire con VBA un file csv ma non ottengo lo stesso risultato di quando effettuo la stessa procedura nelle seguenti modalità, cioè me lo copia con caratteri stani, cosa non va?

Con questa modalità di acquisizione del file csv invece i dati  vengopno copiati nel modo corretto senza la visualizzazione dei caratteri strani, tipo tilde, il quadratino che si sostituisce al simbolo valuta € ecc.

Dati ( Dati Esterni Testo)e la suaconversione guidataper aprirlo. Nel passaggio 3, seleziono la colonna di interesse e imposto l'opzione Testo:

Sub ApriCSV()

Dim fStr As String

With Application.FileDialog(msoFileDialogFilePicker)

.Show

If .SelectedItems.Count = 0 Then

MsgBox "Hai selezionato Annulla"

End

End If

'fStr is the file path and name of the file you selected.

fStr = .SelectedItems(1)

End With

Workbooks.Open Filename:="C:\Users\XXXXX\Desktop\PROVA\Foglio1.xlsx"

Sheets("Foglio1").Range("A1").Select

With ActiveSheet.QueryTables.Add(Connection:= _

        "TEXT;" & fStr _

        , Destination:=Worksheets("Foglio1").Range("$A$1"))

         .FieldNames = True

       .RowNumbers = False

       .FillAdjacentFormulas = False

       .RefreshOnFileOpen = False

       .BackgroundQuery = True

       .RefreshStyle = xlInsertDeleteCells

       .SavePassword = False

       .SaveData = True

       .AdjustColumnWidth = True

       .TextFilePromptOnRefresh = False

       .TextFilePlatform = 850

       .TextFileStartRow = 1

       .TextFileParseType = xlDelimited

       .TextFileTextQualifier = xlTextQualifierDoubleQuote

       .TextFileConsecutiveDelimiter = False

       .TextFileTabDelimiter = True

       .TextFileSemicolonDelimiter = False

       .TextFileCommaDelimiter = False

       .TextFileSpaceDelimiter = False

       .TextFileOtherDelimiter = ";"

       .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _

         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _

         , 1, 1)

       .Refresh BackgroundQuery:=False

   End With

    MsgBox "File csv Importato con successo!", vbInformation

   End Sub

Ciao Nicola.

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
    2015-11-02T16:25:57+00:00

    Ciao Mauro, grazie innanzitutto per il tuo gentile intervento, non riesco ad accedere alla impostazione della valuta in Windows ho questa immagine come procedo per vedere quanto tu mi indichi?

     

    • Ina alto a dx dell'immagine che hai postato, espandi Visualizza per Categoria
    • Seleziona: Icone grandi
    • Doppio click su Paese e lingua
    • Click si Impostazioni aggiuntive (in basso)
    • Seleziona la scheda: Valuta
    • Controlla cosa è impostato come Simbolo valuta

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-11-02T15:35:33+00:00

    Ciao Mauro, grazie innanzitutto per il tuo gentile intervento, non riesco ad accedere alla impostazione della valuta in Windows ho questa immagine come procedo per vedere quanto tu mi indichi?

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-11-02T15:21:21+00:00

    Che simbolo hai settato nelle impostazioni di Windows?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-11-02T15:00:58+00:00

    Ciao Norman, infinite grazie per il tuo cortese intervento, ti posto in sequenza le immagini di quello che funziona se lo importo con Excel:

    Con il codice che ho postato, dopo l'acquisizione dei dati dal File csv il simbolo € viene riportato in questo modo Ç

    Come si può risolvere questo problema?

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-11-02T14:51:25+00:00

    Ciao Nicola,

    ll tuo codice funziona da me. Però, io potrei ottenere analoghi risultati se io dovessi selezionare un (diciamo) file pdf, piuttosto che un file del tipo csv o file.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento