Application.ScreenUpdating = False
Application.ScreenUpdating = False
qual'è il corrispondente in OObasic ?
ho provato ThisComponent.lockControllers , ma non mi funziona nel caso di copia da un foglio all'altro
ho provato ThisComponent.lockControllers , ma non mi funziona nel caso di copia da un foglio all'altro
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Volontario
- Messaggi: 380
- Iscritto il: martedì 22 ottobre 2013, 1:35
Re: Application.ScreenUpdating = False
Ciao patel,come dice mio amico Bernard Marcelly,
si deve usare il modello del documento
Ciao
si deve usare il modello del documento
Prova, poi ci fai sapere.Freezing screen is done with method lockControllers() of the document's Model.
Ciao
LibreOffice ultima versione su Windows 10
Re: Application.ScreenUpdating = False
Gaetano, se ci sei batti un colpo ! Vlad non è molto prodigo di spiegazioni.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Application.ScreenUpdating = False
Ciao, patel potresti allegare il file? comunque io ho dato un'occhiata ad un mio file dove effettuo varie copie tra fogli diversi ed ho usato quest'altro metodo, serve a bloccare l'aggiornamento delle formule e a velocizzare la macro.
Provali assieme al metodo da te indicato
Provali assieme al metodo da te indicato
Codice: Seleziona tutto
Doc.addActionLock
Codice: Seleziona tutto
Doc.resetActionLocks()
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Application.ScreenUpdating = False
il file Fattura.ods è allegato nell'ultimo post di viewtopic.php?f=9&t=5764
vorrei evitare i passaggi da un foglio all'altro
vorrei evitare i passaggi da un foglio all'altro
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Application.ScreenUpdating = False
Purtroppo la macro è in Vba sarebbe meglio una macro in Ooo Basic
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Application.ScreenUpdating = False
non avevo voglia di trasformarla, comunque non vale la pena perderci tempo, grazie, speravo che tu avessi una soluzione già pronta.
Tu hai capito cosa è il modello di cui parla vlad ?
Tu hai capito cosa è il modello di cui parla vlad ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Application.ScreenUpdating = False
Vlad dice che questo metodo è a livello di documento, come in effetti tu lo hai applicato cioè al ThisComponent, ma non capisco a che genere di prova si riferisce
ThisComponent.lockControllers
ThisComponent.lockControllers
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Application.ScreenUpdating = False
ho provato ThisComponent.lockControllers su una macro OO basic che elimina le righe vuote in un foglio e non funziona, l'unica che funziona, ma è discutibile è
Codice: Seleziona tutto
ThisComponent.getCurrentController().getFrame().getContainerWindow().Visible= false
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Volontario
- Messaggi: 380
- Iscritto il: martedì 22 ottobre 2013, 1:35
Re: Application.ScreenUpdating = False
Ciao patel ,le macro sono state registrate.Quindi il codice si eseguie con GUI (Interfaccia Grafica Utente)attivo.
A confermare la mia ipotesi è una piccola modifica nel tuo codice,che permette di nascondere tutti i fogli,tranne quel attivo .
"Lampeggia" lo stesso,anche se i fogli non sono visibili.
Poi ho un altro esempio,con UNO, e sempre nel ambiente GUI ,dove non c'è traccia di VBA ,pero anche qui i controllori non sono disattivabili.
Dovresti fare quello che hai fatto con penultima riga:assegnare i valori direttamente,senza Cut o Paste.
A confermare la mia ipotesi è una piccola modifica nel tuo codice,che permette di nascondere tutti i fogli,tranne quel attivo .
"Lampeggia" lo stesso,anche se i fogli non sono visibili.
Poi ho un altro esempio,con UNO, e sempre nel ambiente GUI ,dove non c'è traccia di VBA ,pero anche qui i controllori non sono disattivabili.
Codice: Seleziona tutto
sub maiuscole
ThisComponent.lockControllers
ThisComponent.addActionLock()
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "B7:F100"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:ChangeCaseToTitleCase", "", 0, args2())
ThisComponent.UnlockControllers
ThisComponent.removeActionLock()
End Sub
- Allegati
-
- Fattura.ods
- (25.87 KiB) Scaricato 237 volte
LibreOffice ultima versione su Windows 10
Re: Application.ScreenUpdating = False
vlad, forse non hai notato che il paste su foglio nascosto non avviene
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Application.ScreenUpdating = False
Si in questo caso così funziona, oltretutto ho notato che nel file era già presente questa riga di codice ma era stata remmatapatel ha scritto:ho provato ThisComponent.lockControllers su una macro OO basic che elimina le righe vuote in un foglio e non funziona, l'unica che funziona, ma è discutibile èCodice: Seleziona tutto
ThisComponent.getCurrentController().getFrame().getContainerWindow().Visible= false
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10