Cellwright

← Cellwright

Forms & controls · Scott Campbell · Updated October 10, 2026

Rebuild Excel forms and controls in LibreOffice.

A visible button, its event binding and the routine behind it are three things to review. Cellwright keeps each part visible.

What can be converted?

Basic targets use LibreOffice's imported UserForm layout to generate an editable dialog. Standard buttons, text boxes, labels, check boxes, option buttons, single-selection lists and combo boxes have bounded property and event mappings. Original and candidate dialog XML are retained for inspection.

Explicit Value/Text/Caption/Enabled/Visible/ListIndex references and modal Show/Hide/Unload calls receive deterministic rewrites. Eligible parameterless Click/Change handlers get document-local event wrappers. Private handlers stay in their own module. Worksheet ActiveX controls use source matching plus checks against the imported native control model.

Private Sub Apply_Click()
    Worksheets("Data").Range("A1").Value = Me.Amount.Value
    Me.Hide
End Sub

A supported text-box read becomes an explicit native model access. A reviewed button event can point to a wrapper in that same module. Conversion writes those candidates without displaying the form or invoking the handler.

What stays manual?

Custom widgets, multipage layouts, dynamic Controls/AddItem, modeless forms, lifecycle events, default properties, tri-state values and multiple selection need manual migration. Data-bound controls, URL/submit/reset/toggle buttons, unknown native models and handlers with unresolved code are not silently wired.

Existing imported callbacks and external dialog resource/data bindings are removed before eligible source-matched events are installed. Automatic document-open, worksheet and form lifecycle events are left detached. Python targets export routines but do not install dialog/control listeners.

Inspect the layout before any interaction

  1. Compare positions, sizes, captions, styles and tab order with the source evidence.
  2. Replace unsupported controls with standard dialog or worksheet controls.
  3. Check each model property and event signature explicitly.
  4. Reconnect only the intended reviewed event.
  5. Plan checks for initial state, edited values, resulting cells and cancellation.

Saved event bindings survive reopening in Windows and Ubuntu static checks. Dialog rendering, interactions and new Basic helper execution remain unverified under the no-macro testing restriction. An editable layout is not proof of runtime equivalence.

How do I complete unsupported controls?

Use the manual recipe to replace custom widgets and move their business logic into an ordinary reviewable routine. Standard dialog models expose Text, Label, Enabled and EnableVisible properties; check boxes use a State value, and single-selection lists use zero-based SelectedItems. Compare the actual interaction before adopting the migration.

Form/control recipes and supported examples · Static validation and limits · Complete workbook migration workflow

Download for Windows Download for Linux

The archive includes a sample workbook to try before using your own files.