まず質問者さんが前提としているであろうエクセルの「操作」が
openpyxlであることを前提として話します。
excelを「自動操作」できている理由は、openpyxlはexcelのデータフォーマットを直接いじることで
あたかも自動操作しているように見えているだけです。
つまり、「データをいじる」のに必要な「データ形式」が(解析可能な形で)公開されているからこそ操作できるのです。
また、例にある「VLCといった動画プレイヤーで特定の動画を再生する」:について:
VLCは、操作するためのapiが公開されており、apiを入出力できる任意のプログラミング言語で操作可能です。pythonであればpython-vlcというライブラリがあり、これを使って操作可能です。
その他のソフトの操作について、
pythonプログラムで、そのアプリケーションの入力対象(テキストボックスやメニューなどの「コントロール」)のデバイスコンテキストや位置を識別し、キーコードを送ったり、マウスを動かしたりすれば「操作」することは一応可能です。
条件として、
・そのアプリケーションの入力対象のデバイスコンテキストや位置がpythonプログラムで補足できるようになっていること
・キーボードやマウスによる入力を受け付けられること
・ロボットによる自動化操作が禁止されていないこと
であれば、特に操作対象がオープンソースソフトウェアでなくても、入力可能な範囲で操作はできます。
下記の記事では、テスト用ロボットフレームワークを用いて、windowsデスクトップアプリの操作を自動化する例が記載されています。
https://medium.com/@joonasvenlinen/desktop-application-automation-with-robot-framework-6dc39193a0c7
ここで使われているのは、AutoItLibrary / AutoIt Window Info Tool というものです。
ただし、個人的には同じことをするなら、pythonではなく
AutoHotkeyやUWSCなどの専用化された自動化アプリを使う方がよっぽど楽だと思います。
一方、オープンソースだからといって、全部自動操作可能かと言えばそうではありません。
オープンソースソフトウェアは中身が完全に公開されているからといって、それを完全に理解して、そのアプリを操作するソフトウェアを書いたり、ソースをいじることができるとお考えでしょうか?
ライセンスによっては改造を禁止しているものもあります。
アプリの規約によってはロボットによる自動操作を禁止している場合もあります。(ゲーム等)
まとめると、自動化するアプリの対象は必ずしも、オープンソースソフトウェアである必要はありません。
操作したい対象、すなわちデータ形式なり、apiなり、コントロールなりが公開されていればよく、力技でロボットを使って自動化することも可能です。
ただし、そのアプリがオープンソースであろうとなかろうと、ロボットによる自動化やソースの解析・改造を禁止している場合は当然その限りではありません。
以上「可能かどうか」という論点について述べました。
「難しいか?」という部分については、個人の能力や知識や根気によるので、そこを明示して質問されていない以上、一概には答えられません。
言語について言えば、pythonというプログラミング言語だけでやるのは結構根気がいると思いますが上記のようなライブラリを使えば難しくはないでしょう。
(根気がいる=難しいという理解ならばあてはまりませんが。
そもそも自動化するのに楽な道なんてないと思う。)
>VBAマクロだと、フリーソフトの起動自体は出来るのですが、さすがに操作自体は出来ないですね。
これもフリーソフトの「公開」具合によりますが、vbaでも外部ツールやwindows apiを駆使してある程度操作することは可能です。
> 何が必要でしょうか?
対象ソフトウェアの仕様を理解する力(努力・素養)と検索力と根気。