REM ***** BASIC ***** sub EditStructure() Dim sel As Object Dim svg As Object sel=ThisComponent.getCurrentSelection() svg = sel(0) If not(svg.supportsService("com.sun.star.drawing.GraphicObjectShape") OR svg.supportsService("com.sun.star.text.TextGraphicObject")) Then msgbox( "No drawing selected!") exit sub end if ps = CreateUnoService("com.sun.star.util.PathSettings") furl=ConvertToUrl(ps.Temp+"/z.svg") dim g as Object g = CreateUnoService("com.sun.star.graphic.GraphicProvider") Dim args(1) as new com.sun.star.beans.PropertyValue args(0).Name = "URL" args(0).Value = furl args(1).Name = "MimeType" args(1).Value = "image/svg+xml" g.storeGraphic(svg.Graphic,args) Shell ("bkchem "+ConvertFromURL(furl)) if MsgBox ("Click OK to update drawing",1)<>1 then exit sub end if Dim iNumberi As Integer Dim iNumbero As Integer Dim sLine As String Dim p As Integer iNumbero=Freefile Open ps.Temp+"/z1.svg" For Output As #iNumbero iNumberi=Freefile Open ps.Temp+"/z.svg" For Input As #iNumberi While Not eof(iNumberi) Line Input #iNumberi, sLine p = InStr(sLine, "textLength=") if p<>0 Then l=left(sLine,p-1) p1=InStr(p+12,sLine, """") r=mid(sLine,p1+1,len(sLine)) sLine=l+r end if Print #iNumbero, sLine Wend Close #iNumberi Close #iNumbero furl1=ConvertToUrl(ps.Temp+"/z1.svg") oBitmaps = ThisComponent.createInstance( "com.sun.star.drawing.BitmapTable" ) '* oBitmaps.insertByName("Image", furl1) svg.GraphicURL = oBitmaps.getByName("Image") oBitmaps.removeByName("Image") end sub