[Risolto] Data automatica

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Alelon
Messaggi: 245
Iscritto il: venerdì 12 novembre 2021, 19:46

[Risolto] Data automatica

Messaggio da Alelon »

Buonasera a tutti.
Avrei bisogno del vostro aiuto.
Ho creato un foglio preventivo, che allego, tra le altre cose contiene la data automatica.
Io lo compilo e lo salvo.
Mettiamo il caso, che dopo 2 giorni, apro il file compilato, naturalmente la data viene aggiornata.
Vorrei che questo non accadesse. lasciando la data invariata.
Come potrei risolvere?
Grazie a tutti.
Allegati
Preventivo.ods
(95.27 KiB) Scaricato 20 volte
Ultima modifica di Alelon il giovedì 21 marzo 2024, 19:02, modificato 1 volta in totale.
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Data automatica

Messaggio da Gaetanopr »

Se utilizzi la funzione OGGI() è normale questo comportamento.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Alelon
Messaggi: 245
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Data automatica

Messaggio da Alelon »

La so.
Quello che non so è come poter ovviare.
Naturalmente lasciando la funzione oggi....
OpenOffice 4.1.13
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Data automatica

Messaggio da Gaetanopr »

Alelon ha scritto: mercoledì 20 marzo 2024, 19:39 Mettiamo il caso, che dopo 2 giorni, apro il file compilato, naturalmente la data viene aggiornata.
Se per file compilato intendi la copia salvata in ods allora è semplice, ti basta togliere la formula dalla cella I9 dal file principale quello che usi per i preventivi, fai il salvataggio in pdf e ods e rimetti la formula, quindi nel file salvato rimane la data come valore e nel file mastro rimarrà la formula.
Questa riga trasforma la formula in valore fisso, data fissa.

Codice: Seleziona tutto

 Sheet.getCellRangeByName("I9").Value =  Sheet.getCellRangeByName("I9").Value
Questa riga rimette la formula dopo il salvataggio

Codice: Seleziona tutto

 Sheet.getCellRangeByName("I9").FormulaLocal = "=OGGI()" 
Guarda alla fine

Codice: Seleziona tutto

Sub Salva_con_Nome
REM --- Range da stampare. Notare l'utilizzo di "Selection" e “FogliAttivo”
   Dim RANGE_Stampa(0) as new com.sun.star.beans.PropertyValue
   RANGE_Stampa(0).Name = "Selection"
   RANGE_Stampa(0).Value = FoglioAttivo

    Dim Nome As String, Filename As String, Doc As Object, Sheet As Object, args()
    Doc = Thiscomponent
    Sheet = Doc.Sheets(0)
       Nome = "file:///C:/Users/Nadia/OneDrive/Desktop/preventivi/ods/"
       A21 = Sheet.getCellRangeByName("A21").string
       A14 = Sheet.getCellRangeByName("A14").string & "   "
       AG2 = Sheet.getCellRangeByName("AG2").string & " ( "
       
       I9 = Sheet.getCellRangeByName("I9").string
       Filename = Nome & A21 & A14 & AG2 & I9 &  ").ods"
       
   REM--- Se il nome del file esiste già chiedi se sovrascrivere -------------------------
   If FileExists(Filename) Then
   '--- Richiesta conferma di procedere --- Scegliendo "Annulla" esci dalla procedura -----
      If Msgbox("ATTENZIONE : Esiste già un file ods con lo stesso nome nel percorso indicato." & CHR$(10) & _
         CHR$(10) & "                                Vuoi sovrascrivere ?",33,"File esistente") =2 then exit sub
   end if
   Sheet.getCellRangeByName("I9").Value =  Sheet.getCellRangeByName("I9").Value
    'print Filename
    Doc.storeToURL(Filename, args())
    'Doc.close(false)
     Sheet.getCellRangeByName("I9").FormulaLocal = "=OGGI()" 
End Sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
arckborg
Messaggi: 29
Iscritto il: domenica 18 dicembre 2022, 22:13

Re: Data automatica

Messaggio da arckborg »

Salve Alelon, una soluzione al tuo problema potrebbe essere quella di utilizzare una semplice Combobox che di default riporta la data odierna dalla cella A2 (colonna di appoggio che poi andrà nascosta) ma che può anche essere modificata a piacere (lo vedi azionando il pulsante della ComboBox stessa).
Vedi file allegato.
Allegati
Preventivo_Prova.ods
(20.81 KiB) Scaricato 17 volte
- La versione di Libre Office che attualmente uso è la 7.3.5.2 (per Mac)
- Sistema operativo: MAC OS High Sierra v. 10.13.6
- installato su di un MacBook Pro (15" 2011) con processore da 2,2 GHz INTEL Core i7
Alelon
Messaggi: 245
Iscritto il: venerdì 12 novembre 2021, 19:46

Re: Data automatica

Messaggio da Alelon »

Grazie a tutti , siete sempre gentili e pronti.
Ho risolto usando la macro di Gaetanopr
OpenOffice 4.1.13
Rispondi