Apertura file in sola lettura

di il
6 risposte

Apertura file in sola lettura

Salve,

vorrei aprire un file in sola lettura, per ora ho usato , FollowHyperlink così mi evito di sapere con quale applicativo devo aprire il file, però non credo si possa usare l'opzione ReadOnly, in quale altro modo posso fare?

6 Risposte

  • Re: Apertura file in sola lettura

    Prova a leggere questa:

    Sub SetAttr(PathName As String, Attributes As VbFileAttribute)
        Membro di VBA.FileSystem

    https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/setattr-statement

    Fai attenzione che questa opzione modifica l'impostazione del File con il FileSystem quindi non risulta ReadOnly solo per te ma si modifica fisicamente l'attributo del File, quindi dovrai provvedere a Modificarlo prima di aprirlo e ripristinarlo appena chiuso, ovviamente questo impone tu prima Legga lo stato dell'attributo(GetAttr) memorizzandolo, se serve lo modifichi e quando chiudi ripristini quello originale. 

    Function GetAttr(PathName As String) As VbFileAttribute
        Membro di VBA.FileSystem
  • Re: Apertura file in sola lettura

    Grazie! perfetto!

  • Re: Apertura file in sola lettura

    Come faresti a capire quando chiudi il file Per ripristinate l'attributo…?

    Facci una pensata… ma serve lanciare un processo Sincrono, escludendo le API sicuramente più complesse, potresti usare il metodo RUN di WScript.Shell con parametro WAIT… ma devi trovare il file EXE associato come default all'estensione e qui servono le API FindExecutable

    Saluti

  • Re: Apertura file in sola lettura

    In realtà per ora non ho questo problema, i documenti che apro fanno parte di un archivio quindi mi va bene che rimangano readonly, anzi mi piacerebbe che non si potessero neanche eliminare!

  • Re: Apertura file in sola lettura

    Hai valutato di usare il Controllo WEBBRowser come visualizzatore…?

    In questo modo sarebbero ReadOnly non avresti interazioni con il FileSystem… tanto immagino siano documenti standard, come PDF o simili…?

    Usi una Form dedicata come visualizzatore nella quale metti un Controllo Activex WebBrowser, la apri come Modale o [acDialog] passando in OpenArgs il Nome del File e su Load lo carichi:

    Dim Thefile As String
    Thefile = Application.CurrentProject.Path & "\TuoFile.pdf"
    Me.web1Control.Object.Navigate Thefile
  • Re: Apertura file in sola lettura

    Avevo visto qualcosa di simile o shell ma in questi casi dovrei capire che tipo di file è (posso avere Excel,Word,Pdf,img o qualsiasi cosa) e trovare l'applicativo e quindi il percorso…FollowHyperlink mi evita questo e facendo prima dell'apertura settattr ReadOnly non è modificabile.

    Per me ok così

Devi accedere o registrarti per scrivere nel forum
6 risposte