In addition to what FJCC has said, about explaining what your macro code does I can already say that this is especially important in this case because your macro uses Application.OnTime, a timer functionality of MS Office that has no direct counter part in OpenOffice. In other words porting the macro to OpenOffice needs a step of reconsideration first.
It may be important to know that in contrary to MS-Office OpenOffice supports different macro languages with such advanced languages as Java or Python among them. These languages have interfaces to the OS (timer functionality, process handling, file operations, ...) out of the box, so they don't need to be re-invented on the OpenOffice side. This means for macros that manipulate Office objects Basic is an appropriate choice, but for tasks that require more complex interaction with the OS (timers, download a file from the internet) it is better to use one of the other languages, because Basic reaches its limits in that case.
Microsoft does not have this choice of different programming languages, so they stuffed any feature request into their VBA Office macro language.
OpenOffice 3.1.1 (2.4.3 until October 2009) and LibreOffice 3.3.2 on Windows 2000, AOO 3.4.1 on Windows 7
There are several macro languages in OOo, but none of them is called Visual Basic or VB(A)! Please call it OOo Basic, Star Basic or simply Basic.