SlideShare a Scribd company logo
1
LibreOffice Brno 2016 Conference Presentation
Something About LibreOffice Macros
Franklin Weng
Sep. 8, 2016
2
LibreOffice Brno 2016 Conference Presentation
Before the story begins...
This session is NOT a technical speech.
It is a true story about my experiences.
In this story I'm not criticizing anyone or anything. I'm just
telling you what I experienced, and hope that we can do
something to make it better.
3
LibreOffice Brno 2016 Conference Presentation
Story Background...
4
LibreOffice Brno 2016 Conference Presentation
In Taiwan
People have been deeply bound to Microsoft [95, 98, NT,
Office*, Server*, …] for more than 20 years.
People can use Microsoft Office in many, many incredible
(Notice: "incredible" sometimes can be pronounced as
"ridiculous" as well) ways.
Here are some examples...
5
LibreOffice Brno 2016 Conference Presentation
6
LibreOffice Brno 2016 Conference Presentation
7
LibreOffice Brno 2016 Conference Presentation
8
LibreOffice Brno 2016 Conference Presentation
The Story Begins...
Taiwan has launched a three-year project to migrate
ODF/LibreOffice in all the governments.
Currently, almost all the training courses are for Writer, Calc
and Impress.
However, there are two important demands but not satisfied
yet:
1. Microsoft Access to LibreOffice Base
2. Microsoft Office Macros to LibreOffice Macros
9
LibreOffice Brno 2016 Conference Presentation
One day...
Someone asked me if I can teach writing macros with
LibreOffice Basic.
I used to write code with Basic (on APPLE II) / Pascal / C /
C++ / Perl / PHP / Bash / Csh / …… , but not a single line of
LibreOffice Basic (and Visual Basic).
"How hard can it be?"
10
LibreOffice Brno 2016 Conference Presentation
So Many Materials,
How Hard Can It Be?
11
LibreOffice Brno 2016 Conference Presentation
Then I Found...
The first document…
An ODT file of LibreOffice Basic Guide
Oops... Oops...
Hmm… it's okay. It shouldn't be
too far from v5 I think...
12
LibreOffice Brno 2016 Conference Presentation
I went on searching...
=_=|||
13
LibreOffice Brno 2016 Conference Presentation
Something useful...
Open Office Basic Programming Guide
Looked nice. But the last update time was Jan. 2013. Well,
okay.
LibreOffice Basic Help
Dialog? It seemed not what I want.
Writing a Macro in LibreOffice Calc -- Getting Started
That's it! A basic "Hello World" macro, which filled "Hello
World" into a cell in Calc! I finally found it!
Then… How to write a "Hello World" macro in Writer?
No, not `MsgBox "Hello World!" '.
14
LibreOffice Brno 2016 Conference Presentation
I Started to Feel Frustrated, So I
Called For Help...
I called a friend who are very familiar with Microsoft Office
macros and Open Office as well.
He gave me an one-line example of LibreOffice Basic running
on Writer:
ThisComponent.getText.String=”Hello World!”
ThisComponent.getText? Ah, it worked, and that's
interesting.
Then he gave me a good document:
Useful Macro Information for Open Office
15
LibreOffice Brno 2016 Conference Presentation
XRayTool
Then he told me to find and download XRayTool.
Bernard Marcelly web site
I downloaded XRayTool and installed. Then no surprise…
Failed to run... Orz
After a few debugging, I found the problem --
StarDesktop seems no longer a static global object.
I added the following code and it worked:
Dim StarDesktop As Object
StarDesktop =
createUnoService("com.sun.star.frame.Desktop")
New XRayTool URL: http://goo.gl/z68Veb
16
LibreOffice Brno 2016 Conference Presentation
After studying for some days...
With the help of my friend, XRayTool, and some old
documents, I started to understand a bit of the structure of the
API.
However, something was still not run as expected, like the
status bar.
Besides, so far I still didn't find a way to write a "Hello World"
macro running on Impress, displaying the universal string on
a slide.
17
LibreOffice Brno 2016 Conference Presentation
What I Wish to Have
A tutorial from the easiest "Hello World" to look deeply into the
UNO.
LibreOffice 5.1 Getting Started mentioned macros in Chapter
13 too. It's new and good, just that in the part of introducing
LibreOffice Basic I still feel it running "too fast".
18
LibreOffice Brno 2016 Conference Presentation
What I'm Doing Now
Now I'm writing a tutorial for LibreOffice Macros
From the simplest "Hello World" Basic program running on
Writer, Calc and Impress and compare their differences.
Several common examples to tell users how to write macros
in different applications.
How to rewrite the Microsoft Office macros in both Basic
and Python.
But…
Yes, it's written in Traditional Chinese.
Progress: less than 10%… (sigh
URL: https://goo.gl/ZcA9Pn
19
LibreOffice Brno 2016 Conference Presentation
Conclusion
Macro is an essential part for migrating LibreOffice in Taiwan.
The current documents are old ones, and not easy and
simple enough for users with little programming experiences,
(or experienced programmers without any experience of
Visual Basic like me…)
It's been a long time without new tutorials or documents for
LibreOffice macros until LibreOffice 5.1 Getting Started
published, though it's somehow still a bit "running to fast."
I'd like to change this so that we can promote LibreOffice
more smoothly and deeply.
20
LibreOffice Brno 2016 Conference Presentation
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License
(unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos
and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Thank you
for using this template!
for coming to this session.
Anyone wants to
join me?

More Related Content

PDF
LibreOffice Conference 2016 -- ODF/LibreOffice Migration in Taiwan
PDF
Migrating ODF and LibreOffice in Taiwan
ODP
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
PDF
Be Open, Share Everything!
PDF
Vertical Writing: typical use-cases and current status in LibreOffice
PDF
State of CJK issues of LibreOffice 2021 in COSCUP
PDF
How does the community work?
PDF
State of CJK issues of LibreOffice, 2021 edition
LibreOffice Conference 2016 -- ODF/LibreOffice Migration in Taiwan
Migrating ODF and LibreOffice in Taiwan
Libreoffice conference: Successful stories: Migrating Libreoffice in Taiwan
Be Open, Share Everything!
Vertical Writing: typical use-cases and current status in LibreOffice
State of CJK issues of LibreOffice 2021 in COSCUP
How does the community work?
State of CJK issues of LibreOffice, 2021 edition

Similar to LibreOffice Conference 2016 -- Something About Macros (20)

PDF
Using Opens Document Format in Education
PPTX
introduction to linux libre office.pptx
ODP
libocon16_uxdraw
PPTX
Introduction to LibreOffice and its.pptx
PDF
Intro to libre_office
ODP
LibreOffice Development
PDF
The Next Step of LibreOffice non-English Local Communities - LibreOffice Conf...
PPTX
Introduction to Libre (Beginner Guide) .pptx
PPT
BP204 Integration of OpenOffice.org and IBM Lotus Notes and Domino
PDF
LibreOffice from Collabora
PPTX
Intro LibreOffice and its components.pptx
ODP
The LibreOffice Human Interface Guidelines (HIG)
PDF
2013 t-dose - libre office easyhacks
PDF
Advice to LibreOffice migration Example in Fukuoka, Japan
PDF
SFScon 21 - Italo Vignoli - LibreOffice: Improving the Project Sustainability
ODP
libocon16_areafill
PPT
BP215 Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOffice...
PDF
How to support LibreOffice with publishing projects
PDF
Public Money, Public Code – Marina Latini, CIB software GmbH
Using Opens Document Format in Education
introduction to linux libre office.pptx
libocon16_uxdraw
Introduction to LibreOffice and its.pptx
Intro to libre_office
LibreOffice Development
The Next Step of LibreOffice non-English Local Communities - LibreOffice Conf...
Introduction to Libre (Beginner Guide) .pptx
BP204 Integration of OpenOffice.org and IBM Lotus Notes and Domino
LibreOffice from Collabora
Intro LibreOffice and its components.pptx
The LibreOffice Human Interface Guidelines (HIG)
2013 t-dose - libre office easyhacks
Advice to LibreOffice migration Example in Fukuoka, Japan
SFScon 21 - Italo Vignoli - LibreOffice: Improving the Project Sustainability
libocon16_areafill
BP215 Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOffice...
How to support LibreOffice with publishing projects
Public Money, Public Code – Marina Latini, CIB software GmbH
Ad

More from fweng322 (14)

PDF
自由軟體的國際化與在地化
PDF
台中資訊組長研習 -- 不插電的資訊科學
PDF
台中資訊組長研習 -- ODF 開放文件標準格式
PDF
文件自由日
ODP
自由軟體 & ezgo -- A+A space 分享
ODP
那些年,我學到的程式設計教育
ODP
成大資工自由軟體開發與社群發展課程
ODP
世界,程式教育的現在進行式
ODP
軟體自由*自由軟體
ODP
數位路平
ODP
Why We Insist Promoting FOSS in Taiwan's School -- Gnome Asia 2015
ODP
台北市研習_LAMP_20140815
ODP
TPET6 噗浪客年會心跳300 -- ezgo 開發
ODP
新北市教師工作坊 -- Bash script programming 介紹
自由軟體的國際化與在地化
台中資訊組長研習 -- 不插電的資訊科學
台中資訊組長研習 -- ODF 開放文件標準格式
文件自由日
自由軟體 & ezgo -- A+A space 分享
那些年,我學到的程式設計教育
成大資工自由軟體開發與社群發展課程
世界,程式教育的現在進行式
軟體自由*自由軟體
數位路平
Why We Insist Promoting FOSS in Taiwan's School -- Gnome Asia 2015
台北市研習_LAMP_20140815
TPET6 噗浪客年會心跳300 -- ezgo 開發
新北市教師工作坊 -- Bash script programming 介紹
Ad

Recently uploaded (20)

DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PPTX
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
PPTX
2025-08-10 Joseph 02 (shared slides).pptx
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PPTX
Tablets And Capsule Preformulation Of Paracetamol
DOCX
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
PPTX
Emphasizing It's Not The End 08 06 2025.pptx
PPTX
Introduction to Effective Communication.pptx
PPTX
The spiral of silence is a theory in communication and political science that...
PDF
Instagram's Product Secrets Unveiled with this PPT
PPTX
Hydrogel Based delivery Cancer Treatment
PPTX
Tour Presentation Educational Activity.pptx
PPTX
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
PPTX
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPTX
fundraisepro pitch deck elegant and modern
PPTX
Effective_Handling_Information_Presentation.pptx
PPTX
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
PDF
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
2025-08-10 Joseph 02 (shared slides).pptx
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Tablets And Capsule Preformulation Of Paracetamol
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
Emphasizing It's Not The End 08 06 2025.pptx
Introduction to Effective Communication.pptx
The spiral of silence is a theory in communication and political science that...
Instagram's Product Secrets Unveiled with this PPT
Hydrogel Based delivery Cancer Treatment
Tour Presentation Educational Activity.pptx
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
The Effect of Human Resource Management Practice on Organizational Performanc...
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
Swiggy’s Playbook: UX, Logistics & Monetization
fundraisepro pitch deck elegant and modern
Effective_Handling_Information_Presentation.pptx
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
Why Top Brands Trust Enuncia Global for Language Solutions.pdf

LibreOffice Conference 2016 -- Something About Macros

  • 1. 1 LibreOffice Brno 2016 Conference Presentation Something About LibreOffice Macros Franklin Weng Sep. 8, 2016
  • 2. 2 LibreOffice Brno 2016 Conference Presentation Before the story begins... This session is NOT a technical speech. It is a true story about my experiences. In this story I'm not criticizing anyone or anything. I'm just telling you what I experienced, and hope that we can do something to make it better.
  • 3. 3 LibreOffice Brno 2016 Conference Presentation Story Background...
  • 4. 4 LibreOffice Brno 2016 Conference Presentation In Taiwan People have been deeply bound to Microsoft [95, 98, NT, Office*, Server*, …] for more than 20 years. People can use Microsoft Office in many, many incredible (Notice: "incredible" sometimes can be pronounced as "ridiculous" as well) ways. Here are some examples...
  • 5. 5 LibreOffice Brno 2016 Conference Presentation
  • 6. 6 LibreOffice Brno 2016 Conference Presentation
  • 7. 7 LibreOffice Brno 2016 Conference Presentation
  • 8. 8 LibreOffice Brno 2016 Conference Presentation The Story Begins... Taiwan has launched a three-year project to migrate ODF/LibreOffice in all the governments. Currently, almost all the training courses are for Writer, Calc and Impress. However, there are two important demands but not satisfied yet: 1. Microsoft Access to LibreOffice Base 2. Microsoft Office Macros to LibreOffice Macros
  • 9. 9 LibreOffice Brno 2016 Conference Presentation One day... Someone asked me if I can teach writing macros with LibreOffice Basic. I used to write code with Basic (on APPLE II) / Pascal / C / C++ / Perl / PHP / Bash / Csh / …… , but not a single line of LibreOffice Basic (and Visual Basic). "How hard can it be?"
  • 10. 10 LibreOffice Brno 2016 Conference Presentation So Many Materials, How Hard Can It Be?
  • 11. 11 LibreOffice Brno 2016 Conference Presentation Then I Found... The first document… An ODT file of LibreOffice Basic Guide Oops... Oops... Hmm… it's okay. It shouldn't be too far from v5 I think...
  • 12. 12 LibreOffice Brno 2016 Conference Presentation I went on searching... =_=|||
  • 13. 13 LibreOffice Brno 2016 Conference Presentation Something useful... Open Office Basic Programming Guide Looked nice. But the last update time was Jan. 2013. Well, okay. LibreOffice Basic Help Dialog? It seemed not what I want. Writing a Macro in LibreOffice Calc -- Getting Started That's it! A basic "Hello World" macro, which filled "Hello World" into a cell in Calc! I finally found it! Then… How to write a "Hello World" macro in Writer? No, not `MsgBox "Hello World!" '.
  • 14. 14 LibreOffice Brno 2016 Conference Presentation I Started to Feel Frustrated, So I Called For Help... I called a friend who are very familiar with Microsoft Office macros and Open Office as well. He gave me an one-line example of LibreOffice Basic running on Writer: ThisComponent.getText.String=”Hello World!” ThisComponent.getText? Ah, it worked, and that's interesting. Then he gave me a good document: Useful Macro Information for Open Office
  • 15. 15 LibreOffice Brno 2016 Conference Presentation XRayTool Then he told me to find and download XRayTool. Bernard Marcelly web site I downloaded XRayTool and installed. Then no surprise… Failed to run... Orz After a few debugging, I found the problem -- StarDesktop seems no longer a static global object. I added the following code and it worked: Dim StarDesktop As Object StarDesktop = createUnoService("com.sun.star.frame.Desktop") New XRayTool URL: http://goo.gl/z68Veb
  • 16. 16 LibreOffice Brno 2016 Conference Presentation After studying for some days... With the help of my friend, XRayTool, and some old documents, I started to understand a bit of the structure of the API. However, something was still not run as expected, like the status bar. Besides, so far I still didn't find a way to write a "Hello World" macro running on Impress, displaying the universal string on a slide.
  • 17. 17 LibreOffice Brno 2016 Conference Presentation What I Wish to Have A tutorial from the easiest "Hello World" to look deeply into the UNO. LibreOffice 5.1 Getting Started mentioned macros in Chapter 13 too. It's new and good, just that in the part of introducing LibreOffice Basic I still feel it running "too fast".
  • 18. 18 LibreOffice Brno 2016 Conference Presentation What I'm Doing Now Now I'm writing a tutorial for LibreOffice Macros From the simplest "Hello World" Basic program running on Writer, Calc and Impress and compare their differences. Several common examples to tell users how to write macros in different applications. How to rewrite the Microsoft Office macros in both Basic and Python. But… Yes, it's written in Traditional Chinese. Progress: less than 10%… (sigh URL: https://goo.gl/ZcA9Pn
  • 19. 19 LibreOffice Brno 2016 Conference Presentation Conclusion Macro is an essential part for migrating LibreOffice in Taiwan. The current documents are old ones, and not easy and simple enough for users with little programming experiences, (or experienced programmers without any experience of Visual Basic like me…) It's been a long time without new tutorials or documents for LibreOffice macros until LibreOffice 5.1 Getting Started published, though it's somehow still a bit "running to fast." I'd like to change this so that we can promote LibreOffice more smoothly and deeply.
  • 20. 20 LibreOffice Brno 2016 Conference Presentation All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy. Thank you for using this template! for coming to this session. Anyone wants to join me?