ciao a tutti sto cercando di fare una macro per salvare i fogli di libreoffice in csv ogni 2 minuti.
Ho impostato questa macro solo che riesco a salvare i fogli ma mi da l’errore sulla ripetizione. Credo sia perchè application.ontime lo usavo con xls ma non riesco a capire se c’è un’ alternativa e qual’è. Sono giorni che giro su google.
errore sulla riga Application.OnTime Now + TimeValue(“00:00:30”), “ExportToCsv”: Errore di runtime BASIC.
Variabile dell’oggetto non impostata.
qualcuno riuscirebbe a darmi una mano?
Questo è il codice
REM ***** BASIC *****
Sub ExportToCsv
document = ThisComponent
' Use the global string tools library to generate a path to save each CSV
GlobalScope.BasicLibraries.loadLibrary("Tools")
FileDirectory = Tools.Strings.DirectoryNameoutofPath(document.getURL(), "/")
' Work out number of sheets for looping over them later.
Sheets = document.Sheets
NumSheets = Sheets.Count - 1
' Set up a propval object to store the filter properties
Dim Propval(1) as New com.sun.star.beans.PropertyValue
Propval(0).Name = "FilterName"
Propval(0).Value = "Text - txt - csv (StarCalc)"
Propval(1).Name = "FilterOptions"
Propval(1).Value ="44,34,0,1,1" 'ASCII 44=, 59 = ; 34 = "
For I = 0 to NumSheets
' For each sheet, assemble a filename and save using the filter
document.getCurrentController.setActiveSheet(Sheets(I))
Filename = FileDirectory + "/" + Sheets(I).Name + ".csv"
FileURL = convertToURL(Filename)
document.StoreToURL(FileURL, Propval())
Next I
Call Workbook_Open
End Sub
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue(“00:00:30”), “ExportToCsv”
End Sub