Condividi tramite

Nome Last Author

Anonimo
2016-07-18T08:45:25+00:00

Ciao a tutti

Mi capita spesso di inviare dei file excel in alcuni forum dedicati, per suggerire/consigliare la strada (a mio avviso) migliore per la struttura di un determinato lavoro, richiesto dai vari utenti di quel forum.

Tutte le volte, come potrete rilevare dall’immagine acclusa, prima di inviare il file, clicco di destro sul file, entro nelle “proprietà”, “dettagli”, clicco su “Rimuovi proprietà e informazioni personali” e, nella finestra che si apre (a destra dell’immagine), spunto “Rimuovi dal file le proprietà seguenti” spunto “Autore ultimo salvataggio”, OK…OK..

Dopo invio il file.

Questo lo faccio per evitare di inviare le mie informazioni.

Volevo sapere se è possibile tramite codice automatizzare tale procedura su una serie di file excel esterni.

Sono a conoscenza che c’è la funzione “BuiltinDocumentProperties("Last Author") che posso mettere = blank, ma ovviamente nel momento in cui salvo il file, tale proprietà viene nuovamente valorizzata con i miei dati.

Grazie per il vostro interessamento.

domenico

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2016-07-18T09:39:53+00:00

    Ciao Domenico,

    Mi capita spesso di inviare dei file excel in alcuni forum dedicati, per suggerire/consigliare la strada (a mio avviso) migliore per la struttura di un determinato lavoro, richiesto dai vari utenti di quel forum.

    Tutte le volte, come potrete rilevare dall’immagine acclusa, prima di inviare il file, clicco di destro sul file, entro nelle “proprietà”, “dettagli”, clicco su “Rimuovi proprietà e informazioni personali” e, nella finestra che si apre (a destra dell’immagine), spunto “Rimuovi dal file le proprietà seguenti” spunto “Autore ultimo salvataggio”, OK…OK..

    Dopo invio il file.

    Questo lo faccio per evitare di inviare le mie informazioni.

    Volevo sapere se è possibile tramite codice automatizzare tale procedura su una serie di file excel esterni.

    Sono a conoscenza che c’è la funzione “BuiltinDocumentProperties("Last Author") che posso mettere = blank, ma ovviamente nel momento in cui salvo il file, tale proprietà viene nuovamente valorizzata con i miei dati.

    Da un altro file - magari il tuo Personal.xlsb - avvia la seguente routine:

    '=========>>

    Option Explicit

    '--------->>

    Public Sub SaveWorkbookWithoutMyName()

        Dim sStr As String

        On Error GoTo XIT

        With Application

            sStr = .UserName

            .UserName = Chr(160)

            .DisplayAlerts = False

            With ActiveWorkbook

                .RemoveDocumentInformation xlRDIComments

                .RemoveDocumentInformation xlRDIDefinedNameComments

                .RemoveDocumentInformation xlRDIRemovePersonalInformation

                .RemoveDocumentInformation xlRDIDocumentProperties

                .Save

            End With

            .UserName = sStr

    XIT:

            .DisplayAlerts = True

        End With

    End Sub

    '<<=========

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento

6 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-07-19T14:52:57+00:00

    Ciao Casanamer,

    Innanzitutto, chiedo scusa per il ritardo con cui rispondo ma sono lontano da casa e studio. Quindi, rispondo ora ad entrambi i tuoi post.

    Ho provato il codice di Norman e ho notato che una volta salvato un file senza le proprietà personali (ho anche provato con "RemovePersonalInformation = True") viene dato avviso di Privacy (il documento contiene macro, activex... bla bla bla. Potrebbero essere presenti informazioni personali che non possono essere rimosse tramite Controllo documento) quando si effettua un salvataggio successivo.

    Capita anche con i vostri documenti?

    p.s. ho notato che anche non modificando la UserName le informazioni personali vengono cancellate senza poi reinserire il nome utente

    Credo che si possa facilmente superare questa inconveniente - vedi il codice aggiornato di sotto.

    Sfruttando l'idea di Norman di modificare il nome utente ho provato a crare una procedura di questo genere che vedo non mi dà poi l'avviso di Privacy.

    Al file, dopo aver impostato la UserName uguale a Chr(160), imposto le proprietà Author e Last Author "vuote" e chiudo il file salvando i cambiamenti.

    Public Sub Elimina_Author_and_LastAuthor()

      Dim Risp As Integer

      Risp = MsgBox("Le informazioni personali ''Autore'' e ''Autore Ultimo Salvataggio'' verranno eliminate da " & ActiveWorkbook.Name & "!" & vbCrLf & _

                 "Proseguire?", vbOKCancel + vbDefaultButton2 + vbInformation, "Elimina Informazioni Personali")

      If Risp = vbCancel Then Exit Sub

      Dim MyUserName As String

      With Application

        MyUserName = .UserName

        .UserName = Chr(160)

          With ActiveWorkbook

            .BuiltinDocumentProperties("Author") = Empty

            .BuiltinDocumentProperties("Last Author") = Empty

            .Close SaveChanges:=True

          End With

        .UserName = MyUserName

      End With

    End Sub

    Ovviamente se poi apro il file e lo salvo normalmente la proprietà Last Author viene nuovamente impostata.

    Ma se lo scopo è quella di salvare un file per successiva pubblicazione basta poi chiuderlo tramite la procedura prima di pubblicarlo.

    Magari si potrebbe creare una icona "salva senza informazioni" nella barra rapida per decidere come effettuare il salvataggio.

     Il problema che prevedo con questo codice è che cancella il nome contenuto nelle proprietà  BuiltinDocumentProperties("Author") e 

    BuiltinDocumentProperties("Last Author") ma non cancella eventuali metadati o altri dati personali. 

    Per superare il problema dell'avviso inconveniente, ma cancellare anche altri dati personali, prova qualcosa del genere:

     '=========>>

    Option Explicit

    '--------->>

    Public Sub SaveWorkbookWithoutPersonalInfo()

        Dim sStr As String

        With Application

            sStr = .UserName

            .UserName = Chr(160)

            With ActiveWorkbook

                .RemoveDocumentInformation xlRDIComments

                .RemoveDocumentInformation xlRDIDefinedNameComments

                .RemoveDocumentInformation xlRDIRemovePersonalInformation

                .RemoveDocumentInformation xlRDIDocumentProperties

                .RemovePersonalInformation = False

                .Save

            End With

            .UserName = sStr

        End With

    End Sub

    '<<=========

    Oppure, forse:

    '=========>>

    Public Sub SaveWorkbookWithoutPersonalInfo()

        Dim sStr As String

        With Application

            sStr = .UserName

            .UserName = Chr(160)

            With ActiveWorkbook

                .RemoveDocumentInformation xlRDIAll

                .RemovePersonalInformation = False

                .Save

            End With

            .UserName = sStr

        End With

    End Sub

    '<<=========

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-07-18T16:05:48+00:00

    Sfruttando l'idea di Norman di modificare il nome utente ho provato a crare una procedura di questo genere che vedo non mi dà poi l'avviso di Privacy.

    Al file, dopo aver impostato la UserName uguale a Chr(160), imposto le proprietà Author e Last Author "vuote" e chiudo il file salvando i cambiamenti.

    Public Sub Elimina_Author_and_LastAuthor()

      Dim Risp As Integer

      Risp = MsgBox("Le informazioni personali ''Autore'' e ''Autore Ultimo Salvataggio'' verranno eliminate da " & ActiveWorkbook.Name & "!" & vbCrLf & _

                 "Proseguire?", vbOKCancel + vbDefaultButton2 + vbInformation, "Elimina Informazioni Personali")

      If Risp = vbCancel Then Exit Sub

      Dim MyUserName As String

      With Application

        MyUserName = .UserName

        .UserName = Chr(160)

          With ActiveWorkbook

            .BuiltinDocumentProperties("Author") = Empty

            .BuiltinDocumentProperties("Last Author") = Empty

            .Close SaveChanges:=True

          End With

        .UserName = MyUserName

      End With

    End Sub

    Ovviamente se poi apro il file e lo salvo normalmente la proprietà Last Author viene nuovamente impostata.

    Ma se lo scopo è quella di salvare un file per successiva pubblicazione basta poi chiuderlo tramite la procedura prima di pubblicarlo.

    Magari si potrebbe creare una icona "salva senza informazioni" nella barra rapida per decidere come effettuare il salvataggio.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-07-18T15:23:44+00:00

    Ciao Norman e ciao dodo47

    Ho provato il codice di Norman e ho notato che una volta salvato un file senza le proprietà personali (ho anche provato con "RemovePersonalInformation = True") viene dato avviso di Privacy (il documento contiene macro, activex... bla bla bla. Potrebbero essere presenti informazioni personali che non possono essere rimosse tramite Controllo documento) quando si effettua un salvataggio successivo.

    Capita anche con i vostri documenti?

    ciao

    p.s. ho notato che anche non modificando la UserName le informazioni personali vengono cancellate senza poi reinserire il nome utente

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-07-18T15:07:14+00:00

    Grazie Norman

    prezioso come sempre.

    Cari saluti

    domenico

    La risposta è stata utile?

    0 commenti Nessun commento