One of the few features I missed moving from Microsoft Office was the auto name upon save, where Word takes the first line of the text and uses it to name the text file. LibreOffice (and OpenOffice before that) don’t have this feature! It’s a small thing but over time it becomes a growing nuisance!
Luckily there is an easy fix for that! Which enables you to enjoy the luxury of easy naming of files and limit the Untitled flood over time!
We are going to use a feature known as macros. macros in office are a Visual Basic code that is used to preform a certain task over and over and is triggered by an event. In this post I’ll be showing how to create a macro that saves the file using the first line of text when pressing the key combination of CTRL + S (assigning the macro to save or save as will result in two files: untitled and the first line of text!) So at first, we are going to need our macro. I took this code as is from an OpenOffice form, it works fine without editing:
On Error goto EH
oDoc = ThisComponent
oVC = oDoc.CurrentController.getViewCursor
Mark = oDoc.Text.CreateTextCursorByRange(oVC)’mark position of view cursor.
oTC = oDoc.Text.CreateTextCursor ‘created at the beginning of doc.
While oTC.isEndOfParagraph ‘skip empty paragraphs.
oVC.gotoRange(oTC,false) ‘a text cursor can’t go to the end of a line
oVC.gotoEndOfLine(true) ‘so we have to use the view cursor.
filename = oVC.String
url = ConvertToURL(“D:\Documents\My writings\” & filename & “.odt”)’Insert Your Desired Directory Path.
oVC.gotoRange(Mark,false) ‘return view cursor to original position.
oDoc.Modified = false ‘avoid Save being called if doc closed without further edits.
End ‘end normal execution.
EH: ‘error handler.
MsgBox “You may have illegal file name characters in the first line.” & Chr(13)_
& Chr(13) & filename,,”AN ERROR OCCURRED”
This code is used to save the text file by taking the first line of text and setting it as the name. You can edit the directory of the save. Please note that it saves without conformation!
Tools Macros Organize Macros LibreOffice Basic
New to add a new macro.
Run Macro then choose the macro manually from the menu. But that’s not too handy, is it?
LibreOffice macros Standard FirstLineFileName_Writer and press OK. And make sure that it’s applied to LibreOffice and not at Writer from the radio buttons on the left.
CTRL + S and see what happens!
If you get errors it’s because the directory isn’t correct. Libreoffice will default to C:\ and when it can’t save in it. It will crash the macro. I edited the code to: “D:\Documents\ but make sure to choose your own folder.
Muaad Elsharif · 2017-05-06 at 23:38
I don't know if such macro exists!
Unknown · 2017-05-06 at 23:37
Any way to do a macro that opens the regular save as dialog and assign the first line as filename? Be able to choose the directory still useful.
Comments are closed.