On 21/05/18 12:03, Jean-Francois Nifenecker wrote:
> While in Calc there's no need for a macro (the Ctrl + ; (semicolon)
> shortcut will do ;) such is not the case in Writer, yet.
> 
> So, yes, you need to create a macro then connect a keyboard shortcut to
> it. The process is quite simple if you use the macro recorder.
> 
> Here's how (longer to write than to execute) :
> 
> 1. Creating the macro using the macro recorder
> 
> Note: the macro recorder is not available until you've activated the
> corresponding option in Tools > Options > LibreOffice > Options, Enable
> macro recording.

This will be (in some versions ?)  Tools > Options > LibreOffice >
Advanced, Enable macro recording.

> 
> a. Open an empty Writer document
> 
> b. Goto Tools > Macro > Record macro
> (a macro recorder toolbar is displayed: you'll press the "Stop
> recording" button when you're done)
> 
> c. Hit Ctrl+F2 to call the Insert Fields dialog,
> 
> d. in the Document thumbnail select:
> 
> Type = Date
> Select = Date
> Format = select the wanted format
> 
> e. Clic Insert, then Close
> 
> f. Clic the "Stop recording" button
> 
> g. A dialog opens that allows you to save the macro code.
> Enter a name for your macro in Macro Name
> Save macro in : select MyMacros > Standard > Module1
> Click Save
> 
> (a sample of the macro code is given below)
> 
> 
> 2. Connecting the macro execution with a keyboard shortcut
> 
> a. Tools > Customize, Keyboard thumbnail
> 
> Shortcut Keys = choose an appropriate shortcut (Ctrl + ; might do...)
> Category = LibreOffice Macros -> MyMacros -> Standard -> Module1
> Function = select the macro created at step 1 above
> 
> b. Check the "Writer" radio button (the shortcut will be available in
> Writer only), then Modify which makes the shortcut appear in the Keys
> panel.
> 
> c. Validate OK
> 
> 
> From now on, pressing Ctrl + ; in Writer inserts the current date.
> 
> 
> 8< -------------------------------------------------------------------
> sub InsertCurrentDate
> 
> dim document   as object
> dim dispatcher as object
> 
> rem get access to the document
> document   = ThisComponent.CurrentController.Frame
> dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
> 
> dim args1(5) as new com.sun.star.beans.PropertyValue
> args1(0).Name = "Type"
> args1(0).Value = 0
> args1(1).Name = "SubType"
> args1(1).Value = 1
> args1(2).Name = "Name"
> args1(2).Value = ""
> args1(3).Name = "Content"
> args1(3).Value = "0"
> args1(4).Name = "Format"
> args1(4).Value = 10036        '
> args1(5).Name = "Separator"
> args1(5).Value = " "
> 
> dispatcher.executeDispatch(document, ".uno:InsertField", "", 0, args1())
> 
> end sub
> -------------------------------------------------------------------- >8

-- 
To unsubscribe e-mail to: [email protected]
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Reply via email to