+ Rispondi al Thread
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 12 su 12

Discussione: Errore nel Rinominare un Foglio .xls

  1. #11
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Luogo
    Messina - Italy
    Post
    7,172
    Blogs
    3
    Quote Originariamente inviato da aldodellacasa Visualizza il messaggio
    codice:
    'Trovo il nome del primo foglio
    Set ExcelSheet = ExcelBook.Worksheets(1)
    VNomeFoglio = ExcelSheet.Name
    '
    ''///////////////////////////////////////////////
    '''Rinomino Il Foglio da "VNomeFoglio" a Foglio1
    Sheets(VNomeFoglio).Select
    ActiveSheet.Name = "Foglio1"
    ''//////////////////////////////////////////////
    '.
    '.
    Il problema è nella riga segnata in rosso.
    Si tratta del fatto che quando usi il modello ad oggetti di Excel, tutte le azioni dirette ai suoi oggetti devono necessariamente passare dalle variabili oggetto istanziate.
    Questo significa che in caso contrario, viene creata implicitamente un'istanza di Excel su cui non hai il controllo e che non consente la sua chiusura da codice.

    Per risovere devi scrivere così:

    codice:
    'Trovo il nome del primo foglio
    Set ExcelSheet = ExcelBook.Worksheets(1)
    ExcelSheet.Name = "Foglio1"
    oppure ancora più brevemente:

    codice:
    ExcelBook.Worksheets(1).Name = "Foglio1"
    E comunque, di qualcosa di analogo ne avevamo già parlato QUI, ed anche allora Excel non ti si chiudeva...

    TheTruster
    Il Crossposting è vietato dalla Netiquette!




  2. #12
    aldodellacasa non è in linea Scolaretto
    Post
    244
    Caspita 8 anni fa..
    hai ragione era un problema simile. EXCEL è sempre stato ostico per me.
    Tra l'altro trovare il nome del foglio1 vecchio (quello da rinominare non mi interessa) devo sempre solo cambiare nome al primo foglio.
    Ecco il codice corretto e funzionante:
    codice HTML:
    '.
    '.
    'Crea l'istanza dell'oggetto Excel
    Set ExcelApp = CreateObject("Excel.Application")
    '
    'Imposta l'esecuzione in background
    ExcelApp.Application.Visible = False
    Set ExcelBook = ExcelApp.Workbooks.Open(PercNomeFile1)
    '
    '///////////////////////////////////////////////
    '''Rinomino Il primo Foglio a Foglio1
    ExcelBook.Worksheets(1).Name = "Foglio1"
    '//////////////////////////////////////////////
    '.
    '.
    Grazie come sempre dell'aiuto sperando di non disturbarvi tutti i momenti, ma a volte mi pianto e di li esco solo con un Vostro aiuto.
    Grazie 10000..... a tutti Voi Aldo

+ Rispondi al Thread
Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi