Closed Marmootje closed 3 years ago
Thanks for your feedback. Would actually love to have this feature too. Had to do this many times manually (creating shapes of the column, do the alignment and then remove the shapes again). I have some ideas how to make this work, minor challenge will be how to select the shapes and the table, as you cannot select one column and the logos at the same time. The column or row should be configured. Will look into it.
Reusing some code from the convert tables to shape function it was actually quite easy to realize. Have released a new version with this requested functionality (for both rows and columns). You can also skip the first row (header row) or skip the first column.
Please know that you have to select the table first, and then the shapes in the order you want to align them to the rows. This is MVP. I might change that behavior to select table first and then shapes are sorted based on the top-value of the shape.
Also updated it based on my latest comment. User can now choose to either sort the shape by top position or by order in which they were selected.
Fantastic! Thanks alot for this. It works like a charm.
If I may suggest one addition to the feature, it might be nice to not restrict the user to first selecting the table and then the other shapes (since one wrong click could screw up the order). If you start by looping through the selected shapes to determine which object is the table:
Sub ObjectsAlignToTableColumn()
Set myDocument = Application.ActiveWindow
Dim Table As Integer
For i = 1 To myDocument.Selection.ShapeRange.Count
If myDocument.Selection.ShapeRange(i).HasTable = True Then
Table = i
Exit For
End If
Next
If Table >= 1 Then
Hope this helps. My apologies is there are any errors in the above code (I'm very much a beginner in VBA).
Yes, was thinking about that too. Problem in that case is that you can have multiple shapes that have tables. How do you make sure that you set the right table? In theory you can also align smaller mini tables to the bigger table.
Option could be to look at the largest table (width x height) that is part of the selection. Will look into it.
That's true. I didn't think of that. It is a bit of a niche case but could definitely be a problem. I think looking at the largest table would work. I would however look at the height (when aligning vertical) and width (when aligning horizontal) of the tables rather than the surface area of the table.
First of all, great work on the latest updates! The convert table to shapes feature sparked new hope in me for a feature I would love to have in Powerpoint. It might be too advanced or difficult to do, but nothing ventured, nothing gained I guess.
A function aligning objects over a table would be very useful. The function should preferably centre the selected shapes to the cells in the selected table (other alignment options would be very welcome as well of course). The shapes will already be on top of the cells in the table so the function has to match the centres of each shape to a cell based on the position of the shape and align it to the centre of the matched table cell.
To make it a bit more clear, please find below an example of what I mean.
Would be great if you could see whether this is feasible!
Thanks for your amazing work on this add-in!
Before:
After: