Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

eliminare dati doppi all'interno di un file Opzioni
iracondo
Inviato: Tuesday, July 14, 2009 10:50:56 PM

Rank: AiutAmico

Iscritto dal : 7/11/2009
Posts: 850
Ciao a tutti,come mi è stato consigliato da simo95 posto la mia discussione in questa sezione sperando che qui potrò avere il risultato richiesto.
Qualcuno di voi è a conoscienza di qualche programma o cmq di qualche metodo sbrigativo per eliminare le voci uguali in un determinato file?Io ho una serie di file contenenti svariati indirizzi e-mail che alle volte si ripetono in tutti i file,il mio problema ora è che devo unificare i file in uno unico facendo comparire solo una vola ogni singola voce.Come posso fare?
qui di seguito un esempio

primo file.txt:

mario@paolo.it
claudio@sandro.com
alessia@augusto.com
barbara@gianni.it
anna@anna.it
etc...

secondo file.txt

carlo@carlo.it
claudio@sandro.com
alessia@augusto.com
gianluca@mario.it
etc...



io da questi file ne devo fare uno solo e come noterai sia nel primo che nel secondo ci sono mail che si ripetono claudio@sandro.com
alessia@augusto.com) e questo non deve accadere.Ovviamente questo è un esempio è ho riportato solo 4 voci per file,i mie file partono tutti da 500 mail in su quindi controllarli uno ad uno con il MODIFICA>TROVA mi diventa davvero luno e snervante.Grazie ancora
Sponsor
Inviato: Tuesday, July 14, 2009 10:50:56 PM

 
iracondo
Inviato: Tuesday, July 14, 2009 11:52:36 PM

Rank: AiutAmico

Iscritto dal : 7/11/2009
Posts: 850
Ciao ragazzi so che il post precedente l'ho messo poco fa ma quel problema l'ho risolto.Adesso me n'è sorto un altro.Devo comparare le mail del file 2 con quelle del file 1 e toglier dal file 1 le mail presenti nel file 2 che sono presenti anche nel 1 come fare?Grazie
simo95
Inviato: Wednesday, July 15, 2009 9:14:27 AM

Rank: AiutAmico

Iscritto dal : 12/4/2008
Posts: 2,008
Noooo..io tutta la sera a scervellarmi per fare la macro e te hai risolto??

Non importa, bravo. Scusa, ma nel secondo problema non ho proprio capito cosa intendi.
iracondo
Inviato: Wednesday, July 15, 2009 10:42:38 AM

Rank: AiutAmico

Iscritto dal : 7/11/2009
Posts: 850
Ciao simo95 grazie cmq per l'interessamento se mi vuoi postare cmq la macro magari la prossima volta che dovessi avere il problema mi può tornare utile.Il secondo problema è il seguente,io ho i soliti file.txt con le solite mail però a differenza di prima dove dovevo unificarli e crearne uno unico,adesso devo togliere le voci che sono nel secondo dal primo file. TI faccio un esempio magari si capisce meglio



1 file.txt:

23@arsenale23.com
a.becucci@gadgetonline.it
a.bellman@gruppoc14.com
a.bent@relaxhotels.com
a.bruno@brunoprodmngt.com
a.ciarallo@giubilarte.it
a.demicheli@castadivapictures.com


2 file.txt


a.bruno@brunoprodmngt.com
a.ciarallo@giubilarte.it
a.demicheli@castadivapictures.com
acerplastica@acerplastica.it
across.sardinia@tiscali.it
action@actionproduzioni.it
adalmas@circoedintorni.it



come noterai sia nel primo che nel secondo file ci sono delle voci identiche io devo togliere queste voci dal primo file e lasciarle solo nel secondo.Come sempre qui ho messo solo poche voci ma i miei file sono di massa molto più imponente.Io ho incolonnato i due file in excel e mettendoli poi rispettivamente in ordine alfabetico,ma capirete vine molto lungo controllare le voci una per una.Se c'è un sistema piu veloce ne sarei molto lieto.Spero di essere stato un pelino più chiaro nel caso cercherò di esserlo maggiormente.Grazie
a10n11
Inviato: Wednesday, July 15, 2009 12:26:15 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
non ho ben capito se vuoi realizzare un file unico senza doppioni, oppure come nell'ultimo posto ripulire il file2.txt dai nominativi presenti nel file1.text
Le macro che seguono sono da inserire in in file excel e generano un foglio excel che poi potrai gestire come ritieni meglio. NB. Ho ipotizzato che il file1.txt e file2.txt si trovino nel disco C:\

1) soluzione -Genera un nuovo file con dati univoci:

Sub univoci()
Dim arr() As Variant
Dim arr2() As Variant
Dim miaColl As Collection
Set miaColl = New Collection
Open "c:\file1.txt" For Binary As #1
i = Split(Input(LOF(1), #1), vbCrLf)
ReDim arr(UBound(i))
For a = 0 To UBound(i)
arr(a) = i(a)
Next
x = UBound(arr)
Close #1
Open "c:\file2.txt" For Binary As #1
e = Split(Input(LOF(1), #1), vbCrLf)
ReDim arr2(UBound(e))
For a = 0 To UBound(e)
arr2(a) = e(a)
Next
Close #2
For n = 0 To UBound(arr) - 1
miaColl.Add arr(n), arr(n)
Next
On Error Resume Next
For s = 0 To UBound(arr2) - 1
miaColl.Add arr2(s), arr2(s)
Next
x = miaColl.Count
H = 2
For i = 1 To x
Cells(H, 1).Value = miaColl(i)
H = H + 1
Next i
Close #1
Close #2
End Sub

2) genera un nuovo file2 ripulito dei nomi che trova nel file 1

Sub RimuoveDoppi()
Dim arr() As Variant
Dim arr2() As Variant
Open "c:\file1.txt" For Binary As #1
i = Split(Input(LOF(1), #1), vbCrLf)
ReDim arr(UBound(i))
For a = 0 To UBound(i)
arr(a) = i(a)
Next
x = UBound(arr)
Close #1
Open "c:\file2.txt" For Binary As #1
e = Split(Input(LOF(1), #1), vbCrLf)
ReDim arr2(UBound(e))
For a = 0 To UBound(e)
arr2(a) = e(a)
Next
Close #2
H = 2
For s = 0 To UBound(arr2) - 1
For n = 0 To UBound(arr) - 1
If arr2(s) = arr(n) Then
ctrl = True
Exit For
End If
Next n
If Not ctrl Then
Cells(H, 2).Value = arr2(s)
H = H + 1
End If
ctrl = False
Next s
Close #1
Close #2
End Sub


saluti
Andrea

iracondo
Inviato: Wednesday, July 15, 2009 1:30:37 PM

Rank: AiutAmico

Iscritto dal : 7/11/2009
Posts: 850
Ti ringrazio per la risposta a10n11,volevo chiederti se questa macro funziona anche con la suite openoffice e se si come?
a10n11
Inviato: Wednesday, July 15, 2009 2:19:44 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
Librerie e sintassi di vba di office sono differenti da quelle usate da Open office.
Quindi non funzioneranno.
Pare (ma mai usato) che Open Office Novell edition http://www.novell.com/it-it/products/openofficewindows/
sia in grado di convertire le macro senza doverle riscrivere.
saluti
Andrea

iracondo
Inviato: Wednesday, July 15, 2009 3:31:20 PM

Rank: AiutAmico

Iscritto dal : 7/11/2009
Posts: 850
TI ringrazio nuovamente per la tempestività nella tua risposta,adesso vedo se riesco in qualche modo.Ciao
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.