Domanda

Sto creando un modello Excel (*.xlt) per un utente qui e una delle cose che voglio fare è inserire la data corrente quando viene creato un nuovo documento (ovvero quando fanno doppio clic sul file in Windows Explorer).Come faccio a fare questo?

Aggiornamento: Avrei dovuto aggiungere che preferirei non utilizzare alcun vba (macro).Se questa è l'unica opzione, allora così sia, ma vorrei davvero evitare di costringere il mio utente a ricordarsi di fare clic su un pulsante "consenti contenuto macro".

È stato utile?

Soluzione

È possibile utilizzare la funzione del foglio di lavoro =OGGI(), ma ovviamente questa verrà aggiornata alla data corrente ogni volta che la cartella di lavoro viene ricalcolata.

L'unico altro metodo che mi viene in mente è, come diceva 1729, codificare l'evento Workbook_Open:

Private Sub Workbook_Open()
    ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Date
End Sub

Puoi ridurre il problema di dover accettare ogni volta le macro da parte dell'utente firmando digitalmente il modello (in Strumenti IDE VBA | Firma digitale...) e selezionando un certificato digitale, tuttavia, dovrai ottenere un certificato da una certificazione commerciale autorità (cfr http://msdn.microsoft.com/en-us/library/ms995347.aspx).L'utente dovrà scegliere di considerare sempre attendibile questo certificato la prima volta che esegue il modello, ma in seguito non verrà più richiesto.

Altri suggerimenti

Puoi modificare il modello predefinito per Excel:

C'è un file chiamato Book.xlt nel XLSTART directory, normalmente situata in C:\Program Files\Microsoft Office\Office\XLStart\

Dovresti essere in grado di aggiungere una macro chiamata Workbook_Open

Private Sub Workbook_Open()
    If ActiveWorkBook.Sheets(1).Range("A1") = "" Then
        ActiveWorkBook.Sheets(1).Range("A1") = Now
    End If
End Sub

Il mio VBA è un po' arrugginito, ma potresti scoprire che qualcosa del genere funziona.

Per evitare VBA e se ritieni che i tuoi utenti possano seguire le istruzioni, potresti chiedere loro di copiare la data e quindi incollare speciali->valori per impostare la data in modo che non cambi in futuro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top