Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 37
  1. #1

    [VB6-Outlook] Eliminazione appuntamenti

    Buongiorno a tutti!

    Ho un problema con Outlook e VB6.
    Ho creato una procedura in vb per cancellare dal calendario di Outlook tutti gli appuntamenti che avessero come prima parola "Prova".
    La procedura parte e cancella i primi 15-20 appuntamenti, dopodichè va in loop e io non capisco perchè.

    questo è il codice:
    codice:
    Private Sub cmdEliminaProve_Click()
    
            Dim mioItem
            Set mioItem = CartellaAppuntamenti.Items.GetFirst
            
            Do Until TypeName(mioItem) = "Nothing"
                If Left(mioItem, 5) = "Prova" Then mioItem.Delete       
                Set mioItem = CartellaAppuntamenti.Items.GetNext
            Loop
            
    End Sub
    dove
    CartellaAppuntamenti: Cartella "Calendario" di Outlook

    Praticamente, da quello che vedo durante il debug, non esegue l'istruzione "CartellaAppuntamenti.Items.GetNext";

    voi avete suggerimenti?

    Ringrazio tutti di cuore!

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    mwtti un punto di interruzione e vedi (con F8) se va avanti incrementando l'item.
    potrebbe anceh essere che non trova l'item "Nothing" e che di conseguenza non esce mai dal loop

  3. #3
    Assicurati di aver istanziato bene l'oggetto...

  4. #4
    infatti Item non diventa nothing, ma non perchè non arriva alla fine degli appuntamenti, bensì per il fatto che non esegue più l'istruzione "CartellaAppuntamenti.Items.GetNext"; solo che questa stessa istruzione, quando avvio il prg la esegue senza problemi... dopo un po' però si stufa e va in loop il do.

    tieni presente che se io scrivo:
    codice:
    Do Until TypeName(mioItem) = "Nothing"
           mioItem.Delete
           Set mioItem = CartellaAppuntamenti.Items.GetNext
    Loop
    invece di:

    codice:
    Do Until TypeName(mioItem) = "Nothing"
           If Left(mioItem, 5) = "Prova" Then mioItem.Delete         
           Set mioItem = CartellaAppuntamenti.Items.GetNext
    Loop
    il prg non da problemi, esegue tutto il ciclo ed esce per TypeName(mioItem) = "Nothing"

    :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    ...ma "Nothing" e' un valore stringa all'interno di MioItem?

    ...secondo me devi togliere le virgolette a Nothing... cosi' il ciclo termina quanto TypeName(mioItem) = Nothing (cioe' e' nullo).
    ...and I miss you...like the deserts miss the rain...

  6. #6
    Originariamente inviato da vonkranz
    ...ma "Nothing" e' un valore stringa all'interno di MioItem?

    ...secondo me devi togliere le virgolette a Nothing... cosi' il ciclo termina quanto TypeName(mioItem) = Nothing (cioe' e' nullo).
    no, la condizione x uscire dal do è corretta.
    hai letto il post sopra il tuo?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Originariamente inviato da ladyBlu

    no, la condizione x uscire dal do è corretta.
    hai letto il post sopra il tuo?
    .l'ho letto ora...

    ...non ho capito xke' "continui" a fare dei Set mioItem = CartellaAppuntamenti.Items.GetNext a ripetizione sulla stessa istanza di mioItem....

    prova a fare:
    codice:
    Set mioItem = nothing
    Set mioItem = CartellaAppuntamenti.Items.GetNext
    ...ammesso che mioItem nn ti serva da qualche altra parte
    ...and I miss you...like the deserts miss the rain...

  8. #8
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    non conosco quell'istruzione (GetNext) ma è sicuro che ci vuole il set? :master:

  9. #9
    no, vonkranz, non funziona.
    il problema non è nell'istanza del mioItem, ma nel fatto che a un certo punto non scorre più gli appuntamenti.
    ne elimina una ventina e si blocca, anche se nella cartella ce ne sono una marea in più.
    accidenti che palle. tutto questo perchè per testare il prg che ho consegnato ho inserito appuntamenti fittizi in outlook e ora x cancellarli tutti mi ci vorrebbe una vita!!!





    dark
    CartellaAppuntamenti.Items.GetNext
    equivale a dire:
    Recordset.MoveNext

    solo che qui si parla di appuntamenti di outlook e non di record.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    ....!!!!!!!!!!!!!.....

    prova con
    codice:
    Do Until TypeName(mioItem) = "Nothing"
           If ucase(Left(mioItem, 5)) = "PROVA" Then mioItem.Delete         
           Set mioItem = CartellaAppuntamenti.Items.GetNext
    Loop
    ...chissa'...
    ...and I miss you...like the deserts miss the rain...

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