0

スプレッドシート内の複数のシートにあるすべてのグラフをエクスポートしようとしています。オンラインでいくつかの例を見て、ファイル内のすべてのグラフを PNG として抽出するコードを考え出しました。しかし、このマクロを実行するたびに、一部の画像がずれて生成されるため、何かが欠けている可能性があります (同じではなく、画像が正しい場合もあります)。このコードは単純ですが、何が原因なのかわかりません。誰でもこれを解決するのを手伝ってもらえますか?

Sub ExportGraphs
    oDoc = ThisComponent

    Dim oSheet As Object
    Dim eSheets As Object

    Dim args(1) as new com.sun.star.beans.PropertyValue

    gef = CreateUnoService("com.sun.star.drawing.GraphicExportFilter")

    eSheets = oDoc.getSheets.createEnumeration()

    While eSheets.hasMoreElements
        oSheet = eSheets.nextElement()
        oDrawPage = oSheet.getDrawPage()
        iLimit = oDrawPage.getCount() -1

        For index = 0 to iLimit
            oDraw = oDrawPage.getByIndex(index)

            args(0).Name = "URL"
            args(0).Value = "file:///home/user_folder/Desktop/graphs/graph_" & oSheet.getName & "_" & index+1 & ".png"
            args(1).Name = "MimeType"
            args(1).Value = "image/png"

            gef.setSourceDocument(oDraw)
            gef.filter(args)

        Next
    Wend
End Sub
4

1 に答える 1

1

変更:MimeTypeMediaType:

args(1).Name = "MimeType"
于 2016-05-13T18:31:30.610 に答える