Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: LibreOffice Calc kaavio kuvaksi

neosofta [13.02.2026 19:49:54]

#

Yksinkertainen esimerkki laskentataulukon kaavion tuonnista valintaikkunan kuvaobjektin kuvaksi.

REM  *****  BASIC  *****

Private oDlg As Object
Private oImg As Object

Sub ShowDialog

    DialogLibraries.LoadLibrary("Standard")
    oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
    oImg = oDlg.getControl("ImageControl1")
    CenterDialog
    ExportChartToImage
    oDlg.execute()
    oDlg.dispose()

End Sub

Sub CenterDialog

    Dim oSize As New com.sun.star.awt.Size, factor As Double
    Dim oCC, oComponentWindow, oTopWindowPosSize
    oCC = ThisComponent.getCurrentController()
    oComponentWindow = oCC.ComponentWindow
    oTopWindowPosSize = oComponentWindow.Toolkit.ActiveTopWindow.getPosSize()

    oSize.Width = oDlg.Model.Width
    oSize.Height = oDlg.Model.Height
    factor = oSize.Width / oDlg.convertSizeToPixel(oSize, com.sun.star.util.MeasureUnit.APPFONT).Width

    With oDlg.Model
        .PositionX = (factor * oTopWindowPosSize.Width - .Width) / 2
        .PositionY = (factor * oTopWindowPosSize.Height - .Height) / 2
    End With

End Sub

Sub ExportChartToImage

    Dim oDoc As Object
    Dim oDrawPage As Object
    Dim oShape As Object

    oDoc = ThisComponent
    oDrawPage = oDoc.getSheets().getByIndex(0).getDrawPage()
    oShape = oDrawPage.getByIndex(0)
    If IsNull(oShape) Then Exit Sub

    If Not IsNull(oShape.Graphic) Then
    	oImg.Model.Graphic = oShape.Graphic
    End If

End Sub

Halutessaan valmiin esimerkki projektin voi imaista täältä

HV (hyvää vappua jo etukäteen)

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta