 Okay, and thanks for coming. In this session, I will tell you a story, a story about Revolt with macros. But when I submitted this paper, I told, in the app chat, I said clearly that this is not, I'm not going to discuss about the technical issues. I'm not going to discuss about developer issues, but it is a true story about my experience. And yeah, actually it is a frustrated story, but I'm not criticizing anyone or anything, just to tell you what I've experienced and hope that we can do it together to make it better. So let me introduce the story background first. The background is in Taiwan. Okay, since last year, 2015, we started to migrate liberal office and ODF very hard, migrate very hard. But you know, in Taiwan, before 2015, people have been deeply bound to Microsoft, everything of Microsoft, from 95, 98, to all kinds of office versions, all kinds of servers, yeah. They have been bound for more than 20 years. And the interesting is that when they use Microsoft Office, they actually have no idea about how to generate a document correctly. Okay, so there are many, many incredible way, you know, incredible way, and sometimes it can be pronounced as ridiculous. Many, many incredible way. So here are, I just have two example about how incredible they are. The first is this. This is a phone. Yeah. This is a phone made by, made by Spreshin, what's that? Pong, Microsoft's. Okay, I don't even remember the name. And then the area rounded by the red reference is where people need to feel, okay? And for us, we know that we can use, we can select area and make the border red, right? But when we open it in the liberal office, trying to convert to ODF, it become this. Okay, all the red friends are gone and going to up. You see? So people come to us as why my file didn't work in liberal office, is liberal office not bad? So we said, no, it's impossible. So we get the file from them back and see. And then we found where the problem is. Did you see here? Yeah? Yeah. They draw the borders by the graphic object, all the friends. You know, they use the graphic object to draw the friend. Yeah, that's so, is that incredible? Yes. That's the way they work. They think, okay, that can work. So they just use this way. They don't have idea that how to correctly made a phone field with that. Okay. It's also very difficult. Yeah, they don't have correct idea even when they are using Microsoft Office. And another, this is a positive example. You know, this is a phone to make the exam papers. That is, here is two digit, minus two digit. And then you can check. You can check, for example, two digit plus two digit or three digit minus one digit. That's the exam paper generator. That is done by the Microsoft Office macro. Okay, they write the macro and the teachers can just check and the paper is generated. Okay, when I first see that, because the teacher told me that, yes, he likes to use LibreOffice, but he has some files with macros like this. And he had no way to convert to the LibreOffice. So, okay, the story begins. Taiwan has launched three years project for this last year. And almost all the training courses are for writing, calculating, and press. Okay. But there are two important things that we didn't, we didn't have training course, we didn't have people that are familiar with. The first is this, Microsoft access to LibreOffice. Yeah, we have many people familiar with Microsoft access, but we have no people familiar to base. The second is this, macros, okay. We have many, many files with macros. Maybe they recorded that, yes. But some still use visual basics to write macros, just like the phone example. So one day, someone asked me if I can teach how to write macros with LibreOffice basic. Well, yes, I'm a developer, I'm a programmer, I write code with many, many language, even the basic on the A4 tool. That's when I was in elementary school. Yeah, but I've never written any single code with visual basics, but I think, how hard can it be, right? So I try to Google with this. Ah, you see, LibreOffice basic materials, so many materials, how hard can it be? So I started to download or to visit the old website and the first file is this. This is the first file I found. LibreOffice is basically a guide, but oops. It is open office or LibreOffice. Is it, oops. And oh, version three, okay. I said, okay, it shouldn't be too far from the version five thing. So yes, it seems to be a guide I can read, I can study. And the second is this. Ah, this page is another incredible page. Okay, basics, the session provides the fundamentals for working with LibreOffice basic. Yes, good, and then, what else? What else? Okay, the same type of section from the basic thing by LibreOffice basic for the detailed equation, please refer to the, okay, so on. But what else? What? IDE, even driven macros, there's nothing, you know. Nothing more. Yeah, this page is still is this. You know, this page is still is this there. Ah, I'm thinking about, okay, let me keep going. Okay, and I finally find something useful. That is, basic programming guide, but it is written. The last update time was 2013, about three years before. Okay, and then, LibreOffice basic help. Ah, it has something, yes, you can see. Yes, they have some content, but it's with all the dialogues. Maybe it's recording a macro, but not what I want to study. I want to study with right code with LibreOffice basic, right? Okay, so, all right, keep going. Okay, finally, I find a document very useful, very useful because it has a basic hard world. Not a dialogue show hard world, no. It fills hard world string into a cell and calc. Okay, that's what I want, yes. Finally found it. But then, how about write a hard world writer? No, I have no idea. I study many files, all the document on the website, but I have no idea about how to write the hard world macros in the writer. Okay, most of the document, they are about APIs. They are about some complicated syntax, but not a single hard world to draw on different applications. So, I started to feel frustrated and I called for help. I asked one of my classmates in the elementary school, he's very, very familiar with macros office macros, and he also likes to use open office, open office. And then, of course, he's trying to convert to the LibreOffice. So, I asked him and he gave me a one line example for the hard world writer. Okay, he gives me this, this component, get, test, string, and hard world. Okay, and I run it, it really works. Oh, but, okay, I read so many documents, but I never noticed that there is a method or there is an attribute to get text. You know, they are all API descriptions, but no example, no words. So, I have no idea that, oh, okay, get text and the string attribute in the text area. That's what I want. No, I have no idea. I have no idea. The document is, oh, okay. Then, also, he gave me a good document. This one, let me see. This one, yeah, Andrew's macro information. Yeah, it is good, but also, it's still, yeah, 2007, yeah, I know. But this is useful, but I still, yeah, I still don't find the hard world because it's hard world is, use the dialogue to print hard world, okay. Anyway, I really tried it very hard to find something useful because I need to teach others and I need to write our tutorial, right? So, also, he told me that x-ray tool. Yeah, x-ray tool is a very useful tool, right? It can show many attributes or methods in an object, but I downloaded that and installed and no surprise, it failed. It failed, yes, it failed. So, I did a few debugging and I found the problem. The problem is that, start desktop. This one is no longer global static. So, I need to declare and assign the friend desktop to it so that it can work. But then, I try to find no any release, no any document, no any single word describe that start desktop is no longer. I don't even know when it is drop from the global object. I have no idea, but I just added this and the x-ray tool once again, once again. And also, I put it in the native share, yes. It's still work and it still have me to find the correct attribute or the method, but the original version can not work at least on the LibreOffice 5. So, after studying for some days, yes, and okay, I started to understand a bit about the structure of the API, about the structure of Uno, but still some examples don't work as I expect, like status bar. I try to fill the status bar, but it didn't work and I need to add something for example. Anyway, it's not as smooth as I expect. And so far, I still didn't find a way to show a hard work in the impress slide. I still didn't know how and then no any single document read about this. So, here I like to tell you what I wish to have. Of course, I wish to have a tutorial from the easier hard work to look deeper into Uno. The hard work is just like what I have said, to run in on different applications in LibreOffice and maybe at least it can give us an idea about how to make a run on this application. Actually, I'm writer, I'm character, I'm impressed the way to show how hard work is different. And I want to compare the different between them. So, this guy, LibreOffice 5.0 getting started, it is new document, right? And it is very good. I know, yes, it is very good. I look at it, hey wait, where is that? It's here, it's here, okay? Getting started with macros introduced how to record the macros, yes, but when it mentioned how to write a macro result with, let me see, create more complicated. The macro, macro failure, macro organization, and how to run on tools, where is what I want? Yes, writing macro with solder recorder. When in this session, okay, give us an example. Yeah, this is similar to the hard world my friend gave me. Yeah, similar to, and it just use the cursor that's allowed the whole test area will not be cleared. Okay, give this example, and then nothing more. Then nothing more, okay? Just this, and it gave you finding more information in the help, LibreOffice help, but I'm really, the help is, even the help is like this, well it doesn't help, right? Yeah, I really feel it running too fast, running fast. Okay, yes, it describes how to record a macro, very detailed, but how to write a macro is still have very few, very few material. So, what I'm doing now, what I'm doing now, I'm actually, yes, I'm writing it, writing a tutorial. Just found the hard world basically run in writer and the calc, not in press yet because I still don't find a way to write this in press. But I have an example for writer and calc and compare the differences, okay? That's the way I think the users can easily understand, okay? And I want to write several common examples to tell how to write in different applications and maybe for the later chapters, how to rewrite the Microsoft Office macros with basic and Python. I know that now we can use Python to write macros in different office, I know. But it's also, it needs some programming experience. I know it's called many APIs, yeah. But, of course, it's written in Chinese, yes. Okay, and the progress is for now, yeah. Because I don't even have any idea to write macros in press. So, I still, now it's open, but it's in Chinese, so I think. This is what I'm doing, and yeah, okay. So, finally, the conclusion is that I wish to have a document, a better document for teach people how to write simple macros to complicated macros. Okay, with basic or very specific, it's okay. And the current document are very old. They are very old. If it's about the liberal office, most are in the open office three, right? All the files, all the document I found is for the open office three. And yes, there are really some changes from then to now. Just like start desktop, it's no longer easy there, right? There are some change, but I have no documents to describe those change. I don't know how much it changed from then to now. So, I think we need more document, more tutorials. And so, I like to change this. So, I'm doing that though in traditional, but I'm just starting. So, it's still time that if anyone wants to join me, I can use English.