Newsgroup: it.economia.borsa.trading-online
Titolo: REQ:Convertire formato .csv (Banca Sella) in formato metastock

Un saluto a tutti ;)
Raga come diavolo si convertono i file scaricabili da sella in formato .csv
in formato metastock.
Ho provato in disersi modi anche con un programmino che si trova in rete 
e che serve per convertire i dati da Yahoo ma niente da fare.
Quancuno puo' aiutarmi a capire come si convertono questi benedetti dati !!!!

 Quancuno puo' aiutarmi a capire come si convertono questi benedetti dati
!!!!
Dovresti:
1) aprire il file csv con Word e poi con una macro ad hoc resettare i dati
in modo poi di...
2) salvarli in formato txt e poi...
3) con il downloader convertire txt in formato metastock
Mi pare che il problema sia il conflitto tra il nostro sistema metrico
decimale con il sistema che usano gli yankee :-)
(virgloe al posto dei punti etc...)

 in modo poi di...
Come si riesce a creare una macro e reseddare i dati ad hoc per favore
cerca di spiegarlo passo passo in modo semplice ;) Grazie


 cerca di spiegarlo passo passo in modo semplice ;) Grazie
Cioč se tu  per esempio hai il formato 31/12/2003 e lo devi trasformare in
12/31/2003 allora ti creerai una macro-Word che appunto sposta il 12 al
posto del 31.
Lo fai passo-passo cioč lanci il registratore delle macro dopodichč farai
tutti i passagi tramite il taglia&incolla etc....
Piů facile a farsi che a dirsi.
Ciao

Ciao Marco credo aver capito e sembra che funzioni,
Pero' ora nasce un altro problema siccome in un giorno a 5 minuti sul
fib
ci sono circa 96 righe per i dati e ad un minuto 520 cosa devo fare
la modifica con macro in registrazione su 96 o 520 righe !!!!!
Non credo ci deve essere un modo per automatizzare la cosa anche ai
righi successivi se la modifica è uguale ?
Come si fa?
Il problema nasce perchè ci sono diverse modifiche da attuare quindi è
molto laborioso effettuarlo su 96 o 520 righi.
Resto in attesa ringraziandoti della tua pazienza ;)

 la modifica con macro in registrazione su 96 o 520 righe !!!!!
Quello che segue è un listato che trasforma i dati del fib30 di B.Sella dal
loro formato gg/mm/aa (tipo 26/01/04) al formato aa/mm/dd
____________________________________
Sub conversBSellaGGMMAA()
'
' conversBSellaDDMMYY Macro
' Macro registrata il 30/12/2002
'
    Dim l As Integer
        Dim numrec
        numrec = InputBox("numero dei record?")
        For l = 1 To numrec
    ' sposta data
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    Selection.Cut
    Selection.MoveRight Unit:=wdWord, Count:=3
    Selection.Paste
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    Selection.Cut
    Selection.MoveLeft Unit:=wdWord, Count:=4
    Selection.Paste
    ' cambia separatori
    Selection.MoveRight Unit:=wdWord, Count:=4
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    ' elimina i secondi daL TIME
    Selection.Delete Unit:=wdCharacter, Count:=4
    Selection.TypeText Text:=","
   ' Selection.Delete Unit:=wdWord, Count:=1
    'Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.MoveRight Unit:=wdCharacter, Count:=1
Next l
End Sub
__________________________________________
("numero dei record?") è il numero di righe da modificare.(96 o 520 o
quelchevolete)
Mi perdonino i programmatori di macro e/o visualbasic ma questo è quello che
sono riuscito a fare con le mie limitate nozioni di linguaggio e word97 :-)
Quello che segue è una variante che modifica il formato da mm/gg/aa a
aa/mm/gg
Sub conversBSellaMMGGAA()
'
' conversBSellaMMGGAA Macro
' Macro registrata il 12/07/03
'
    Dim i As Integer
        Dim numrec
        numrec = InputBox("numero dei record?")
        For i = 1 To numrec
    Selection.MoveRight Unit:=wdWord, Count:=3, Extend:=wdExtend
    Selection.Cut
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.TypeText Text:="/"
    Selection.Paste
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=3, Extend:=wdExtend
    Selection.TypeText Text:=","
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdWord, Count:=1
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.HomeKey Unit:=wdLine
    Selection.MoveDown Unit:=wdLine, Count:=1
    Next i
End Sub
Prova ad eseguire la macro passo passo e vedi come lavora
Ciao

 la modifica con macro in registrazione su 96 o 520 righe !!!!!
La macro serve appunto a quello: modifichi la prima riga, poi fermi
ilregistratore di macro e manualmente vai ad inserire un "loop" ossia un
ciclo che di volta in volta ti modificherà 520 o 96 righe.
For i = 1 to 520
.....
.....
..... (quì inserirai la macro che modifica la formattazione e/o la posizione
dei numeri che compongono la data)
next i
Così una volta modificata la prima riga, il loop si ripete per altre 519
volte e quand'anche l'ultima riga è stata modificata allora termina la
macro.
Ciao