Ilyet se csináltam még. És hogy mire is való ez? Egy jobb, könnyebben kezelhető névtáblára. Nem volt szórakozás ez a kis BASIC program OpenOffice-ban, de győztünk. Holnap be is fejezem:
REM ***** BASIC *****
Sub SelectLayer
Dim oLayer, oForm, oLayerArray As Object
Dim i As Integer
oForm = ThisComponent.DrawPages(0).Forms.getByName("Beállító")
oLayerArray = oForm.getByName("Képzések").StringItemList
For i = LBound(oLayerArray()) To UBound(oLayerArray())
oLayer = ThisComponent.LayerManager.getByName(oLayerArray(i))
If oLayer.Name sSelected Then
oLayer.IsPrintable = FALSE
oLayer.IsVisible = FALSE
End If
Next
oLayer = ThisComponent.LayerManager.getByName(oForm.getByName("Képzések").getCurrentValue())
oLayer.IsPrintable = TRUE
oLayer.IsVisible = TRUE
End Sub
Sub ClearLayer
Dim oLayer, oForm, oLayerArray As Object
Dim i As Integer
oForm = ThisComponent.DrawPages(0).Forms.getByName("Beállító")
oLayerArray = oForm.getByName("Képzések").StringItemList
For i = LBound(oLayerArray()) To UBound(oLayerArray())
oLayer = ThisComponent.LayerManager.getByName(oLayerArray(i))
If oLayer.Name sSelected Then
ThisComponent.LayerManager.remove(oLayer)
End If
Next
oLayer = ThisComponent.LayerManager.getByName(oForm.getByName("Képzések").getCurrentValue())
oLayer.IsPrintable = TRUE
oLayer.IsVisible = TRUE
oForm.getByName("Képzések").Enabled = FALSE
oForm.getByName("RétegTörlés").Enabled = FALSE
End Sub
Sub AddData
Dim i As Integer
For i = 1 To 10
FindShapeByName( ThisComponent.DrawPages(0), "HelyszínÉsIdőpont-"+i ).String = ThisComponent.DrawPages(0).Forms.getByName("Beállító").getByName("HelyszínÉsIdőpont").getCurrentValue()
Next i
End Sub
REM köszönet: Danny Brewer (Danny's Draw PowerTools)
Function FindShapeByName( oDrawPage As com.sun.star.drawing.GenericDrawPage, cShapeName As String )
nNumShapes = oDrawPage.getCount()
For i = 0 To nNumShapes - 1
oShape = oDrawPage.getByIndex( i )
If oShape.getName() = cShapeName Then
FindShapeByName() = oShape
Exit Function
EndIf
Next
End Function
- Jóbel blogja
- Hozzászólás regisztráció és belépés után


Friss hozzászólások