Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134

    [vb.net] finestra aggiorna foglio alla lettura di file excel

    Salve a tutti,
    ho un problema durante la lettura di un file excel da un'applicazione scritta da me in vb.net.
    In pratica il mio programma cerca all'interno di una cartella indicata dall'utente tutti i file .xls in essa contenuti e ne legge i dati. Il problema è che, ogni volta che inizia a leggere i dati da un foglio, spuntano delle finestre (le stesse che spuntano quando si aprono questi file excel "normalmente" a mano).
    Ve ne sono di 3 tipi

    1) finestra di dialogo che chiede se attivare le macro (e questa sn riuscito ad eliminarla cambiando le impostazioni di protezione delle macro in excel)

    2) finestra di dialogo che chiede se aggiornare le informazioni del foglio collegate ad altre origini di dati

    3) finestra di dialogo che chiede se aggiornare il foglio

    Esiste un modo per far sì che non vengano visualizzate queste finestre? Perchè per ogni foglio viene bloccata l'esecuzione del programma finchè l'utente non preme "OK" o "Aggiorna".
    Il codice che utilizzo per leggere dal file excel è il seguente:

    codice:
    Dim xlBook As Excel.Workbook 
    xlBook = GetObject(percorsoCompletoFile)
    xlBook.Application.Visible = False 
    xlBook.Windows(1).Visible = False						
    Dim datoAs String = xlBook.Worksheets(1).Cells(2, 12).Value
    codice reperito cercando su internet..
    grazie.
    saluti.

  2. #2
    No quelle osno informazioni che richiede excel.exe e non l' interop che stai usando.
    devi modificare le policy di sicurezza nei PC che dovranno far girare il prodotto, ...
    Stessa cosa succede con Access ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    mmm con Access non mi è mai capitato nulla di simile.
    Cmq per quanto riguarda il messaggio di protezione per le macro ho risolto mettendo la protezione bassa nell'interprete macro di excel..
    ma per i messaggi di avviso di aggiornamento dati e di aggiornamento valori collegati a fogli esterni non son riuscito.
    sai indicarmi come si fa?

  4. #4
    Cmq per quanto riguarda il messaggio di protezione per le macro ho risolto mettendo la protezione bassa nell'interprete macro di excel..
    ma sai cosa vuol dire?? Che l' utente accetta Macro dannose ... ma sei sicuro?

    Per gli aggiornamenti, non si puo' anche perchè non avrebbe senso (IMHO)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    > ma sai cosa vuol dire?? Che l' utente accetta Macro dannose ... ma sei sicuro?

    a parte ke è un programma di uso interno all'azienda e che quindi apri excel, metti la protezione bassa, usi il programma (che avrà una cadenza di uso di circa 1 volta al mese visti i suoi scopi), e poi la puoi ripristinare, ma poi, diciamocelo, ma chi ha mai visto tutte ste macro dannose? chi scarica fogli excel a destra e a manca da fonti sconosciute?
    Insomma, tutto il discorso di protez macro l'ho sempre trovato una rottura più ke altro. Almeno x quello ke ho fatto io. Certo se uno capita xls a destra e a manca con le provenienze più disparate....


    --------------------------------------------------------------------------

    > Per gli aggiornamenti, non si puo' anche perchè non avrebbe senso (IMHO)

    e xkè no? in questo caso gli aggiornamento servon solo a caricare dati da un altro file excel per riempire tipo delle combo, non per aggiornare numeri (il foglio è questo e me lo devo tenere)


    insomma cmq in qsti gg ho scoperto che:

    - in java si può fare tramite apache POI, però poi nn si riesce a leggere le combo
    - diverse librerie in .NET idem, riesci a leggere i dati normali del foglio ma nn a leggere il contenuto di combo aggiunte mediante VBA

  6. #6
    Partiamo dal presupposto che Excel è un programma, non una persona, quindi non ragiona, agisce ed esegue.
    Detto cio':
    [list=1][*]Macro Dannose: non è il discorso di Internet e basta non puoi sapere se il PC è solo in rete quindi il discorso sicurezza deve sempre essere generalizzato.[*]Per gli aggiornamenti, tu carichi dati nelle Combo ma qualcun' altro carica dati da un ODBC per esempio, quindi è correttissimo che chieda sempre di aggiornare la fonte dati. Metti caso che un giorno devi aggiungere un itemalla combo?[/list=1]
    L' unico vero modo per lavorare con Office è creare un Interop del prodotto e referenziarlo nelle tue applicazioni, se poi vuoi lavorare in Java, beh allora non postare sul forum .NET.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    non ci siamo capiti proprio...
    1. ok la sicurezza generalizzata, ma se tu vuoi fare un programma a cui dai in pasto una cartella con in pasto 200 file xls per leggerne il contenuto e schiaffarlo su un file access, non è concepibile che l'utente deve star lì 200 (anzi, 200*2) volte a premere "consenti" e "si"... per cui pensavo ci fossero altri modi di accedere (e difatti ci sono, librerie che non necessitano nemmeno di aver excel installato, quindi non lo aprono ma leggono direttamente dal file. Il problema è che non ne ho trovato nessuna che non presenti almeno 1 delle diverse problematiche riscontrate... a turno ognuna ha i suoi problemi).

    2. beh potrebbe caricarli sempre, oppure potrebbe non caricarli affatto (del resto mi interessa solo il contenuto selezionato della combo, non tutti gli items)


    Diciamo che rispetto a .NET detesto Java, quindi fai te... ho trovato solo la libreria apache POI, ma simili a quella ne esiston diverse in .NET (anche se il 99% a pagamento, ma nn sarebbe un problema. Il fatto è ke nessuna tra quelle che ho attenzionato mi elimina tutti i problemi).


    In sostanza devo leggere da sti file excel dati inseriti dall'utente o selezionati in combobox aggiunte tramite VBA (non direttam con excel). Gli aggiornam servono solo a caricare le combo e segnare le festività in un calendario, ma solo per agevolare l'utente negli inserimenti. durante la lettura non me ne può fregà de meno :-)

    Ti ringrazio lo stesso.
    Saluti

  8. #8
    Beh allora mi sa che sbagli approccio perchè se usi l' Interop di excel e la application (Excel) la mantieni nascosta non ti pone quesiti, le domande le fa solo quando excel è visibile.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    beh ho postato un po' di codice all'inizio... nn so ke pensi a riguardo del codice ke ho usato. Se credi si possa fare in altro modo posta un po' di codice, o linkami qualche guida concreta che spieghi come fare.
    grazie.
    ciao

  10. #10

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.