Макрос Libreoffice для получения информации о статистике документа - PullRequest
0 голосов
/ 28 января 2019

Проблема в том, что скрипт мгновенно анализирует все вычислительные данные из документа (если документ большой), не давая времени для его загрузки и подсчета.Что можно сделать?

Sub GetStatistics(cFile)
    cUrl = ConvertToURL(cFile)
    oDoc = StarDesktop.loadComponentFromURL(cUrl, "_blank", 0, Array())
    Data = oDoc.GetDocumentProperties().DocumentStatistics
    s = ""
    For i = LBound(oData) To UBound(oData)
        s = s & oData(i).Name & " : " & oData(i).Value & CHR$(10)
    Next
    MsgBox(s)
End Sub

Большой документ

Простой документ

1 Ответ

0 голосов
/ 29 марта 2019

В зависимости от ваших требований вы можете просто добавить, например,

Wait 2000

после

oDoc = StarDesktop.loadComponentFromURL(cUrl, "_blank", 0, Array())

, чтобы обеспечить полную загрузку.

Насколько мне известно, нет никакого способачтобы точно вызвать loadComponentFromURL закончил.

...