投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/10/13 23:25:44
こんな記事も発見。.NET 向けでは無く VBA 向けの記事ですけれど。
こちらの記事だと、むしろバージョン番号無しの ProgID を使うべきとされていますが…現状は既にその実装なんですよね。
https://support.microsoft.com/ja-jp/topic/office-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A8%E3%83%A9%E3%83%BC429%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B-b6070e15-ea78-4349-2751-72bdb5f186f7

あとは別案として、ProgID 指定では無く、CLSID 指定で起動してみる、とか。
(下記は Option Strict On でも動くように CallByName にしていますが、実行時バインディングな呼び出しでも構いません)

Dim oWord As Object = Activator.CreateInstance(Type.GetTypeFromCLSID(Guid.Parse("{000209FF-0000-0000-C000-000000000046}")))
CallByName(oWord, "Visible", CallType.LetTrue)