Basically I found an interesting article found here( https://news.ycombinator.com/item?id=25043741) and summarized some key points from the comments while adding my own ideas.
As in: - an excel spreadsheet is a program that is run by Excel - a word document (with or without macros) is run by Word - a web page is a program that is executed by the browser
Documents-as-programs have this dual identity where they are a combination of data, presentation and logic. It's not a perfect categorisation but I find it helpful.
but I guess they aren't as presentation-focused in the same way, presentation focused for a certain presentation environment, as your examples perhaps are.
Hypercard, then, would be in this category?
The GUI is determined by the interpreter/vm. A spreadsheet doesn't really define it's GUI - the "host" defines it. A ruby script building a GUI (e.g. shoes) can look like anything. A spreadsheet, word document or web page has to have some basic structure.
Of course with things like VBA/OpenOffice Basic, or SPAs with JS, those distinctions start to blur - it's definitely not a perfect categorisation and it breaks down eventually.
Maybe you could say every document is like a custom plugin. E.g. my spreadsheet is like a plugin to Excel/Numbers/Sheets I _think_ in fact in MSOffice and OpenOffice plugins actually were just special documents but it's been a very long time since I was in that world.
Of course spreadsheets are programming. So are R, Hypercard, Logo, etc. Some programming languages/environments are more useful for some sorts of tasks than others, or are simply infeasible for some tasks. (You wouldn't want to, even if you could, build an ecommerce website in "R" or "Julia" alone but they're both clearly programming languages). Some programming languages might be downright useless.
What does it tell us to say something is a programming language? Whatever it tells us, sure, spreadsheets of the Excel variety are programming languages/environments, of course.