I was feeling adventurous and got this working on v2015+ using the following on a UI Post Load event script attached to pLines and pLinesW and adapt the first four variables to suit your needs.
```
sColumnNameToFind = ""RequiredDate$"" ' Change this variable to the target column's name in the table. Add a dollar sign suffix if it is a string field.
sColumnCaptionToReplace = ""Required Date"" ' Change this variable to the caption as displayed in the grid.
sColumnCaptionToReplaceWith = ""Dock Date"" ' Change this variable to the caption you want to use instead of the above caption.
aGridsToSearch = Array(""GD_Lines"", ""GD_Addl"") ' Use this array to define the grids you want to search. Get the grid name from the status bar in Customizer after selecting the grid.
For Each sGridToSearch in aGridsToSearch
sMapID = """" : sCtlName = """" : nGridCtl = 0 : nGridCtl = oUIObj.GetControlID(sGridToSearch, sMapID, sCtlName)
sGridIoL = """" : sGridIoL = oScript.Evaluate(""LST(_obj'GetGridIOList$("" & nGridCtl & ""))"") ' This gets the IOList for the current grid in the sGridToSearch variable.
nPosistionInIoL = 0 : nPosistionInIoL = InStr(sGridIoL, sColumnNameToFind) ' This looks for your column in the sGridIoL, if found, it will step into the below ""If...Then...Else"" block.
If nPosistionInIoL > 0 Then
sGridIoL = Left(sGridIoL, nPosistionInIoL - 1) ' This trims the sGridIoL to just before where the sColumnNameToFind was found.
nColumnNumber = 0 : nColumnNumber = (UBound(Split(sGridIoL, "","")) + 1) ' This splits the sGridIoL into an array using a comma as the delimiter and then returns the upper bound of the array and adds a one to it. This becomes the column number of the sColumnNameToFind.
If nColumnNumber > 0 Then
sAttributes = """" : oUIObj.GetColumnAttributes nGridCtl, nColumnNumber, sAttributes ' This gets the attributes for the column number.
sAttributes = Replace(sAttributes, ""COLUMNDESC="" & sColumnCaptionToReplace, ""COLUMNDESC="" & sColumnCaptionToReplaceWith) ' Among the attrbutes is the COLUMNDESC, this replace that plus the value in sColumnCaptionToReplace with the value in sColumnCaptionToReplaceWith.
oUIObj.SetColumnAttributes nGridCtl, nColumnNumber, sAttributes ' This sets the modified attributes for the column number.
End If
End If
Next
```