You can only do this through conditional formatting. Conditional formatting should allow you to disable based on a user role.
Having said that, if you create a field, and use conditional formatting based on the value of that field, you can use code to change the value of the field which will then affect your conditional formatting--effectively allowing you to use code to disable the button.