Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Da .doc a .csv

  1. #1

    Da .doc a .csv

    Ciao a tutti e buona domenica!

    Esiste un programma che permette di convertire un .doc, in forma già tabellare, in un .csv?

    Grazie.

  2. #2
    Seleziona la tabella, quindi vai su Tabella->Converti->Tabella in testo...->Scegli il separatore che preferisci (se vuoi un csv dovrai scegliere "Altro:" e inserire una virgola, o tuttalpiù scegliere "Punti e virgole"); a questo punto copia il testo selezionato, incollalo in Blocco Note e salvalo come .csv.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Ti ringrazio, mi sei stato di grande aiuto.
    Ciao.

  4. #4
    Ah, solo un'altra cosa.......se io avessi un file word con molte tabelle (tutte con la stessa formattazione) e volessi estrarre soltanto un record per ogni tabella e poi incollare questi dati in un file excel esistente, sarebbe fattibile con una macro?

  5. #5
    Credo che sia fattibile, ma così su due piedi non ti saprei dire quanto può essere complicato.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da nickstone
    Ah, solo un'altra cosa.......se io avessi un file word con molte tabelle (tutte con la stessa formattazione) e volessi estrarre soltanto un record per ogni tabella e poi incollare questi dati in un file excel esistente, sarebbe fattibile con una macro?
    codice:
    Sub tabelle()
    Dim t As Table
    
    ' una volta aperto l'editor vba da word ricordati di inserire il riferimento alla libreria di excel
    ' dal menù strumenti clicca su riferimenti e cerca microsoft excel x.0 object library. Spuntala!
    
    Dim xlApp As Excel.Application
    Dim xlWB As Excel.Workbook
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    ' qui sotto inserisci il path del tuo file di excel
    Set xlWB = xlApp.Workbooks.Open("C:\documents and settings\nicola\desktop\incolla.xls")
    Set xlSheet = xlWB.Sheets(1)
    
    j = 4  'nel mio esempio la prima riga di ogni tabella verrà copiata a partire dalla riga 4 del foglio di excel
    For Each t In ActiveDocument.Tables ' ciclo tutte le tabelle esistenti nel mio file di word
        
        For i = 1 To t.Columns.Count 'ciclo tutte le colonne di ciascuna tabella
            xlSheet.Cells(j, i).Value = t.Cell(1, i) 'copio su excel solo i dati della prima riga di ogni tabella
        Next i
    j = j + 1 'incremento il contatore per il riferimento alle righe del file di excel
    Next
    
    End Sub

  7. #7
    Originariamente inviato da nicola75ss
    codice:
    Sub tabelle()
    Dim t As Table
    
    ' una volta aperto l'editor vba da word ricordati di inserire il riferimento alla libreria di excel
    ' dal menù strumenti clicca su riferimenti e cerca microsoft excel x.0 object library. Spuntala!
    
    Dim xlApp As Excel.Application
    Dim xlWB As Excel.Workbook
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    ' qui sotto inserisci il path del tuo file di excel
    Set xlWB = xlApp.Workbooks.Open("C:\documents and settings\nicola\desktop\incolla.xls")
    Set xlSheet = xlWB.Sheets(1)
    
    j = 4  'nel mio esempio la prima riga di ogni tabella verrà copiata a partire dalla riga 4 del foglio di excel
    For Each t In ActiveDocument.Tables ' ciclo tutte le tabelle esistenti nel mio file di word
        
        For i = 1 To t.Columns.Count 'ciclo tutte le colonne di ciascuna tabella
            xlSheet.Cells(j, i).Value = t.Cell(1, i) 'copio su excel solo i dati della prima riga di ogni tabella
        Next i
    j = j + 1 'incremento il contatore per il riferimento alle righe del file di excel
    Next
    
    End Sub
    Sei stato gentilissimo, grazie mille !!!
    Ho provato a modificare t.Cell(1,i) in t.Cell(3,2) per prelevare proprio il dato della riga 3 e colonna 2 però mi crea anche una copia della stessa colonna. :master:
    Inoltre volevo chiederti se esiste un metodo che preleva uno specifico formato di dato ( ad esempio una data, scusa il gioco di parole ) dalla riga della tabella word: io ho pensato di utilizzare la funzionalità "testo in colonne" e poi dividere con il separatore "spazio", funziona ma volevo sapere se è un procedimento corretto.

    Grazie ancora.

    Ciao.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao, potresti spiegarmi meglio?

    In pratica da ogni tabella devi estrarre solo una cella specifica, devi copiare quelle che contengono delle date o cosa?

    La ripetizione dei valori è dovuta al ciclo for. Se non devi ciclare tutte le colonne ma solo una elimina il ciclo.

  9. #9
    Originariamente inviato da nicola75ss
    Ciao, potresti spiegarmi meglio?

    In pratica da ogni tabella devi estrarre solo una cella specifica, devi copiare quelle che contengono delle date o cosa?

    La ripetizione dei valori è dovuta al ciclo for. Se non devi ciclare tutte le colonne ma solo una elimina il ciclo.
    Devo estrarre per ogni tabella solo una cella specifica e in questa cella c'è testo + data ma a me interessa estrarre solo la data.
    Il ciclo è necessario perchè devo farlo per ogni tabella.
    Ti ringrazio ancora per la tua disponibilità.

    Ciao.

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da nickstone
    Devo estrarre per ogni tabella solo una cella specifica e in questa cella c'è testo + data ma a me interessa estrarre solo la data.
    Il ciclo è necessario perchè devo farlo per ogni tabella.
    Ti ringrazio ancora per la tua disponibilità.

    Ciao.
    Per il ciclo intendevo di lasciare quello più esterno relativo alle singole tabelle ma di eliminare il for interno, visto che non devi ciclare tutte le colonne ma ti serve solo una colonna di ciascuna tabella. Lasciando il for otterrai il valore tante volte quante sono le colonne presenti in ogni tabella.

    Per quel che riguarda la data, è presente sempre nella stessa posizione (inizio, fine) della stringa o può essere in qualsiasi punto?

    In che formato è la data, sempre gg/mm/aaaa con gli eventuali zeri davanti oppure può anche essere g/m/aaaa ?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.