Building the original table through the API results in a different error:
var pres = new Presentation();
double[] dblCols = { 120, 120, 120, 120, 120 };
double[] dblRows = { 100, 100, 100, 100 };
var sld = pres.Slides[0];
var tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
tbl[0, 0].TextFrame.Text = "H1";
tbl.MergeCells(tbl[0, 0], tbl[1, 0], true);
tbl.MergeCells(tbl[0, 0], tbl[2, 0], true);
tbl.MergeCells(tbl[0, 0], tbl[3, 0], true);
tbl.MergeCells(tbl[0, 0], tbl[4, 0], true);
tbl[0, 1].TextFrame.Text = "R1";
tbl[0, 2].TextFrame.Text = "R2";
tbl[0, 3].TextFrame.Text = "R3";
tbl[1, 1].TextFrame.Text = "H2";
tbl.MergeCells(tbl[1, 1], tbl[2, 1], true);
tbl.MergeCells(tbl[1, 1], tbl[3, 1], true);
tbl.MergeCells(tbl[1, 1], tbl[4, 1], true);
tbl[1, 2].TextFrame.Text = "H1 A";
tbl.MergeCells(tbl[1, 2], tbl[2, 2], true);
tbl[3, 2].TextFrame.Text = "H1 B";
tbl.MergeCells(tbl[3, 2], tbl[4, 2], true);
tbl[1, 3].TextFrame.Text = "A";
tbl[2, 3].TextFrame.Text = "B";
tbl[3, 3].TextFrame.Text = "C";
tbl[4, 3].TextFrame.Text = "D";
tbl[2, 2].SplitByWidth(tbl[2, 2].Width / 2);
Throws exception:
Unhandled Exception: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: Splitting width must be in greater than 0 and less than cell’s width
at Aspose.Slides.ColumnCollection.☻(Int32 ☻, Double ♥)
at Aspose.Slides.Cell.SplitByWidth(Double width)