in carboxylic acid: Hydroxy and keto acids. ...not the same. The 2-hydroxy acids form cyclic dimeric esters (formed by the esterification of two molecules of the acid) called lactides, whereas the 3- and 4-hydroxy acids undergo intramolecular esterification to give cyclic esters called lactones.
VBA's ActiveWorkbook property refers to the workbook with the focus. The active workbook may or may not contain the code that's referencing the active workbook, which is an important distinction. It's perfectly acceptable to use this property to reference the active workbook from code inside the active workbook.
There are two main ways to run the macro on workbook open. Which Portland Runner has already mentioned in his post. Private Sub Workbook_Open(). Use Sub Auto_Open() in a module. While we are at it, you may also want to check THIS. The link is about Configure a macro to run automatically upon opening a workbook. Private Sub Workbook_Open() is better than Sub Auto_Open() because of many reasons as mentioned in that link.