Ciao a tutti e buona domenica!
Esiste un programma che permette di convertire un .doc, in forma già tabellare, in un .csv?
Grazie.
Ciao a tutti e buona domenica!
Esiste un programma che permette di convertire un .doc, in forma già tabellare, in un .csv?
Grazie.
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.
Ti ringrazio, mi sei stato di grande aiuto.
Ciao.
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?![]()
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.
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![]()
Sei stato gentilissimo, grazie mille !!!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![]()
![]()
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.
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.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.
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.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 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 ?