Pour bénéficier de cette fonctionnalité plus facilement dans tous les fichiers, ci joint une librairie complète à importer par le menu
Outils>Macro>Gérer les boites de dialogue. Sous l'onglet bibliothèques, cliquer sur importer puis sélectionner la bibliothèque nommée
Library1 après l'avoir préalablement décompressée.
Library1.zip
Plus simplement, la même bibliothèque exportée comme simple extension. Pour l'installer : clic droit sur le fichier oxt>
Ouvrir avec puis sélectionner soit AOO ou Lo :
ChampsDateDoubleClic.oxt
Une fois fait, pour activer la fonctionnalité pour un fichier, menu
Outils>Macro>Exécuter la macro puis développer
Mes macros>Library1Module1>Activer_DoubleClic puis cliquer sur
Exécuter
DoubleClic.png
Pour en bénéficier plus rapidement dans tous les fichers, il est préférable d'attacher la sub
Activer_DoubleClic à un raccourci clavier.
Un listener surveille le doble-clic :
Code : Tout sélectionner
Option Explicit
global surveillanceClic as object
private dlg As Object, selection As Object, oCtrl As Object
sub Activer_DoubleClic
oCtrl = thisComponent.currentController
surveillanceClic = CreateUnoListener("Clic_","com.sun.star.awt.XMouseClickHandler")
oCtrl.addMouseClickHandler(surveillanceClic)
end sub
sub Desactiver_DoubleClick
On Error Resume Next
oCtrl.removeMouseClickHandler(surveillanceClic)
On Error Goto 0
end sub
Sub Clic_mousePressed(oEvt As Object) as boolean
if oEvt.ClickCount = 2 Then
selection = thisComponent.CurrentSelection
If selection.supportsService("com.sun.star.table.Cell") Then
activerDialogue
end if
end if
end Sub
Sub Clic_mouseReleased(oEvt As Object) as boolean
End Sub
Sub Clic_disposing(oEvt As Object)
End Sub
Sub activerDialogue
Dim bibli As Object, oDlg As Object
GlobalScope.DialogLibraries.loadLibrary("Library1")
bibli = GlobalScope.DialogLibraries.getByName("Library1")
oDlg = bibli.getByName("Dialog1")
dlg = CreateUnoDialog(oDlg)
dlg.execute
End Sub
Sub dater(oEvt As Object)
Dim laDate As String
laDate = oevt.Source.Text
selection.SetValue(DateValue(laDate))
selection.NumberFormat = 37
dlg.endExecute
end sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.