View Single Post
 
Old 04-29-2020, 07:22 AM
shanerolle shanerolle is offline Windows 10 Office 2019
Novice
 
Join Date: Apr 2020
Posts: 10
shanerolle is on a distinguished road
Default

Quote:
Originally Posted by Guessed View Post
Are you sure you want to delete content based on the value in the check box? This doesn't allow for the user to change their mind or recover if they made an incorrect selection.
I would recommend you hide content rather than delete it. This gives you a more graceful method to re-instate content if the user changes their mind.

Also, your logic of Checked = Delete seems counter-intuitive. Wouldn't checked mean you want that content and unchecked mean remove it?

To demonstrate how I would approach this, add a tag value on a parent checkbox (eg aaa) and then select the children rows below that parent and add a bookmark using the same tagname. Note that the tag value must be a valid bookmark name.
Then run this macro
Code:
Sub ShowHideSubRows()
  Dim aCC As ContentControl
  For Each aCC In ActiveDocument.Range.ContentControls
    If ActiveDocument.Bookmarks.Exists(aCC.Tag) Then
      ActiveDocument.Bookmarks(aCC.Tag).Range.Font.Hidden = Not aCC.Checked
    End If
  Next aCC
End Sub
If your display options are not showing hidden text then this will allow the toggling of the children rows based on the checkbox value of the parent(s).

When I first was thinking of solutions, I assumed deleting the content was the best way to handle the solution as this will be for a cover and scope sales document, so I did not want the possibility of unwanted information being left behind. I have already informed them that they should save a copy prior to running the macro, just to be sure that they can make any changes if they make a mistake. However, I would not be opposed to trying this if it will do the same thing (remove those rows from being visible/printed, as well as removing the checkboxes in the first column once finished, as we do not want to be able to see them on the final document).

In regards to the Check = Deleted being counter-intuitive, it really depends on the specific situation. When I first had a meeting with my coworkers to create this, I was told there are times where they only need to delete a handful of rows, meaning it would make more sense to select the rows they want to delete, and other times where they only want to keep 20% of the document, which would mean a lot of selections in a 16 page document. This "select to delete whole section" question was kind of a solution they had for that, as they often have sections that don't apply to the sales agreement they are creating, and that is where most of the stuff they would need to delete lies. This should in theory help them, but I have also considered creating a second macro that works the opposite way (so Check = Keep) in order to help them have to make less selections based on the specific scenario they have.

I am open to all kinds of suggestions, as I am still very new to this. I feel like I am learning a lot as I find time to work on this and work through the code and how it all works, but I definitely would be willing to try the "hide" option rather than deleting the rows.
Reply With Quote