Da srt a xls



  • Da srt a xls
    di Michele (utente non iscritto) data: 01/03/2010

    Buongiorno a tutti. mi servirebbe una macro che, all'apertura del file excel che la contiene,
    1) aprisse una maschera di importazione file .srt (un file di testo semplice con linebreak $crlf);
    2) importasse nella prima colonna il file .srt selezionato. ad ogni linebreak, la macro deve scendere di riga (quindi la prima riga del file di testo viene copiata in a1, la seconda in a2, ecc.)
    3) ad eccezione delle celle "multipli di 4" (a4, a8, a12 ecc..) le celle devono essere colorate (un colore qualunque)
    e il loro contenuto non modificabile.

    che voi sappiate, è una cosa molto difficile?

    grazie in ogni caso
    michele



  • di Enzo (utente non iscritto) data: 01/03/2010

    ....per michele
    dovresti allegare un esempio di file (srt) cancellando dati sensibili e vediamo che se po' fa


  • Eccolo
    di Michele (utente non iscritto) data: 01/03/2010

    File caricato.
    grazie fin d'ora!



  • di Enzo (utente non iscritto) data: 01/03/2010

    Ti ho allegato un file
    per rendere le celle non modificabili devi vedere tu



  • di Michele (utente non iscritto) data: 02/03/2010

    >ti ho allegato un file
    >per rendere le celle non modificabili devi vedere tu

    premetto subito che la macro funziona perfettamente. grazie, enzo :)

    per quanto riguarda le celle non modificabili, specifico che l'utente, alla fine della macro,

    1)deve poter cominciare a scrivere nella cella a4;
    2)una volta finito di scrivere nella cella a4, battendo invio deve selezionarsi automaticamente la cella a8, (e poi la a12, a16... a salti di 4 insomma);
    3) le prime tre celle di ogni "quadrupla" (a1,a2,a3 - a5,a6,a7 - a9,a10,a11)non devono essere modificabili.

    È molto complicato?

    grazie molte in ogni caso!



  • di Enzo (utente non iscritto) data: 03/03/2010

    Per far cio' devi proteggere le celle utilizzando le opzioni in excel (strumenti, protezione) lasciando sprotette le celle che intendi modificare
    le altre rimarranno protette
    ciao


  • ..ultima domnda
    di Michele (utente non iscritto) data: 04/03/2010

    ...perfetto. avrei un'ultimissima cosa. dopo aver finito il mio lavoro, devo eseguire l'operazione contraria, ossia:

    1)creare un documento di testo;
    2)prendere i dati di ogni riga;
    3)copiarli nel documento di testo andando a capo, ad ogni linea, con linebreak $crlf;
    4)salvarlo con desktop.

    finora ho utilizzato le righe di codice che vedi qui sotto. ma così sono costretto a predefinire sia il nome del file (compiledsub) sia il percorso.

    si può sostituire quel codice con una maschera "saveas.." che alla pressione del bottone "salva" esegui le stesse operazioni ma col nome e nel percorso voluto dall'utente?

    grazie!
    michele
     
    Dim fs As Object, CompiledSub As Object, s As String
    
        Set fs = CreateObject("Scripting.FileSystemObject")
    
        Set CompiledSub = fs.CreateTextFile("C:Documents And SettingsmioDesktopCompiledSub.srt", True)
    
        
    
    
    
    For i = 2 To (4 * LastSubtitle)
    
    
    'LastSubtitle è una funzione 
    'definita in precdenza, naturalmente
    
    s = Range("a" & i).Value & crlf$
    
    CompiledSub.WriteLine s
    
    
    
    Next i
    



  • di Enzo (utente non iscritto) data: 04/03/2010

    Se non ho capito male devi ricreare il file txt partendo dal file xls dopo aver eliminato o modificato quello che ti serve
    mi dovresti riallegare il file txt che avevi postato inizialmente



  • di Enzo (utente non iscritto) data: 04/03/2010

    Salvarlo con deskstop vuol dire "salvarlo sul deskstop ?"



  • di Michele (utente non iscritto) data: 04/03/2010

    File riallegato.

    e... sì, intendevo sul desktop :)

    grazie!

    michele



  • di Enzo (utente non iscritto) data: 04/03/2010

    Scusa una domanda, ma se lo salvi sul deskstop a che ti serve una maschera di apertura per vedere dove salvare il file
    il percorso e' gia' denominato



  • di Enzo (utente non iscritto) data: 04/03/2010

    Problem ,riesco a crearti un file txt ma non con le caratteristiche che vuoi tu



  • di Michele (utente non iscritto) data: 04/03/2010

    Scusa una domanda, ma se lo salvi sul deskstop a che ti serve una maschera di apertura per vedere dove salvare il file
    il percorso e' gia' denominato

    perchè poi voglio passare il file con la macro ad altri, e siccome solo io ho il nome utente il codice
    ../documents and settings//desktop non è portabile su un'altra macchina. il codice di una finestra, invece, lo sarebbe e in più darebbe all'utente la possibilità di salvare il file anche altrove.

    comunque, se con la finestra di dialogo "save as..." non si può fare, esiste un modo per ritoccare la mia macro in modo che il file venga salvato sul desktop di qualunque macchina la esegui?

    grazie mille!

    michele



  • di Michele (utente non iscritto) data: 05/03/2010

    ...il mio nome utente é "mio". il messaggio precedente va dunque letto come


    perchè poi voglio passare il file con la macro ad altri, e siccome solo io ho il nome utente "mio" il codice
    ../documents and settings/mio/desktop non è portabile su un'altra macchina. il codice di una finestra, invece, lo sarebbe e in più darebbe all'utente la possibilità di salvare il file anche altrove.

    per qualche motivo, il sistema ha cancellato il nome. scusate.

    michele