Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: VB6 e foglio Excel

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203

    VB6 e foglio Excel

    Ciao a tutti,

    ho bisogno di un grande aiuto!

    ho un file excel .xls in una cartella condivisa in rete.

    questo foglio è aperto da piu' utenti.

    Ho scritto un programma in VB6 che legge e scrive su questo foglio.

    Unico problema è che quando questo foglio è aperto da altri utenti non mi è possibile
    salvare le modifiche e devo attendere che il file venga chiuso...

    avete qualche suggerimento per ovviare a questo problema ?

    Grazie mille a tutti!

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non esiste una soluzione.
    Il file è modificabile solo da chi lo apre per primo.
    Non è prevista la condivisione tra utenti.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Originariamente inviato da gibra
    Non esiste una soluzione.
    Il file è modificabile solo da chi lo apre per primo.
    Non è prevista la condivisione tra utenti.
    ok
    grazie per avermi risposto!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    esiste un modo per verificare se il file excel è sgià aperto?

    potrei creare una funzione
    che :
    se è aperto attendi..

    poi scrivi

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Basta cercare di aprire il file con la Open specificando il Lock Read, Lock Write o Lock Read Write.
    Se il file è già aperto ti restituisce un'errore intercettabile.
    A quel punto sai come comportarti.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    mmm e vale quindi anche per la excel.application ?

    pensavo valesse solo per i metodi di scrittura / lettura nei files di testo / binario

    Grazie per la risposta!

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da S0nic
    mmm e vale quindi anche per la excel.application ?
    Cosa c'entra la excel.application ?

    Originariamente inviato da S0nic
    pensavo valesse solo per i metodi di scrittura / lettura nei files di testo / binario
    Perchè, cosa pensi che sia un file XLS?

    Mmm. Secondo me stai confndendo le cose.
    Il file devi solo 'tentare' di aprirlo, non devi scriverci niente.
    La open serve solo per scoprire se il file è già aperot o meno.

    Se si lascia aprire, ovviamente lo chiudi subito, e poi vi accedi direttamente da codice VB6 con il tuo codice.
    Se non si lascia aprire (quindi NON è aperto) intercetti l'errore e lasci perdere.


    Originariamente inviato da S0nic
    Grazie per la risposta!
    Prego

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    Originariamente inviato da gibra
    Basta cercare di aprire il file con la Open specificando il Lock Read, Lock Write o Lock Read Write.
    Se il file è già aperto ti restituisce un'errore intercettabile.
    A quel punto sai come comportarti.
    scusa se ti disturbo ancora...

    ho fatto così

    ma non funziona....

    On Err.Number <> 0 GoTo Primo
    Open App.Path & "\prova.xls" For Binary Access Read Lock Read Write As #numeroFile

    Close #numeroFile


    Primo è una label ovviamente esistente e il goto dovrebbe portare il programma alla label Primo

    l'errore viene presentato dal debug sulla Open...come permission Denied (ovviamente si verifica solo quando ho il file excel aperto)

    non sono un esperto...potresti dirmi x favore come gestire l'errore ?

    Grazie ancora!

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    203
    EDIT

    ho fatto così:

    Dim numeroFile
    numeroFile = FreeFile
    On Error Resume Next

    Open App.Path & "\prova.xls" For Binary Access Read Lock Read Write As #numeroFile

    If Err.Number <> 0 Then GoTo Primo

    Close #numeroFile


    sembrerebbe funzionare...

    Domanda....prima di "GoTo Primo" mi consigliate di mettere un timer che attende almeno 1 secondo ?



    Grazie ancora!!!

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Se tu spiegassi cosa stai cercando di fare...

    Poi
    GoTo Primo

    A che serve?
    Dov'è Primo?

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