Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74

    vb.net: verificare istanza exccel in memoria

    Salve a tutti.
    E' possibile verificare (alla partenza di un programma) se esiste tra i processi excel attivo ?

    Quello che mi servirebbe è controllare, se c'e' excel aperto chiedere all'utente se lo si vuole chiudere ed in questo caso killare il processo ....

    Non so se si puo' fare .... e soprattutto come ....

    Grazie
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Secondo me è una pessima idea su tutti i fronti.

    - perché mai dovrebbe chiudere il processo?
    - e se l'utente risponde no, cosa succede?
    - se ne ha tanti di aperti, come fai a scegliere quello da chiudere?

    Sarebbe meglio che tu spiegassi il TUO problema...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Allora, il problema è questo : da Vb compilo (massicciamente) un foglio Excel. Può capitare che per una non prevista operazione il programma Vb si chiuda lasciando Excel aperto. Se l'utente non si rende conto di questo e lavora manualmente sul file Excel, quando lo chiude le modifiche non vengono registrate. La mia idea era: alla partenza del programma Vb vedo se Excel è in esecuzione . Se si avverto l'utente che se prosegue le istanze di Excel verranno chiuse (così ha il tempo di salvare il lavoro di altri fogli) e poi le chiudo tutte, e lavoro sul mio file Excel, altrimenti esco.

    Questa è l'idea.....
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  4. #4
    Quote Originariamente inviata da karug64 Visualizza il messaggio
    Salve a tutti.
    E' possibile verificare (alla partenza di un programma) se esiste tra i processi excel attivo ?
    codice:
    Dim P() As Process = Process.GetProcessesByName("EXCEL")
    
    If P.Length > 0 Then ...... 'c' è un qualche processo di Excel attivo

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Quote Originariamente inviata da eziogsv Visualizza il messaggio
    codice:
    Dim P() As Process = Process.GetProcessesByName("EXCEL")If P.Length > 0 Then ...... 'c' è un qualche processo di Excel attivo
    Grazie infinite.
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  6. #6

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da karug64 Visualizza il messaggio
    Allora, il problema è questo : da Vb compilo (massicciamente) un foglio Excel. Può capitare che per una non prevista operazione il programma Vb si chiuda lasciando Excel aperto. Se l'utente non si rende conto di questo e lavora manualmente sul file Excel, quando lo chiude le modifiche non vengono registrate. La mia idea era: alla partenza del programma Vb vedo se Excel è in esecuzione . Se si avverto l'utente che se prosegue le istanze di Excel verranno chiuse (così ha il tempo di salvare il lavoro di altri fogli) e poi le chiudo tutte, e lavoro sul mio file Excel, altrimenti esco.

    Questa è l'idea.....
    Francamente, è un'idea completamente sbagliata, permettimi.
    Non è questo il modo di procedere nello sviluppo di applicazioni.

    Se un programma si chiude improvvisamente, significa che chi l'ha sviluppato ha commesso degli errori.
    Il modo corretto di procedere è fare dei test ed un serio debug per individuare i problemi che possono verificarsi.

    Ancora peggio è obbligare l'utente a chiudere tutte le istanze di Excel. Non esiste proprio.

    Nei miei programmi, sia in VB6 che in VB.NET, manipolo costantemente file Excel, quindi capisco che non è semplicissimo gestirli con l'automazione, ma non è nemmeno così difficile.
    Se guardi sul mio sito, troverai degli esempi proprio sull'automazione Office di Word, Excel ed Outlook.

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