初心者でも簡単!PythonでWindowsのアプリケーションを起動する方法

★気に入ったらシェアをお願いします!


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Windowsユーザー&プログラミング初心者向けに、Pythonでお仕事を快適にするツールを作り方をお伝えしています。

今回のお題はプログラムの起動です。

ほら、お仕事するときって、いろんなアプリケーション、ファイル、フォルダ、Webページといろいろと開くときあるじゃないですか。

で、毎日のようにそれらをいちいちクリックとかしたり開くの面倒ですよね。

そしたら、いつも起動する定番セットを自動で起動するようなスクリプトを作って、それをランチャーにセットしたり、タスクスケジューラにセットしたりすると、とっても便利そうです。

例えば、私の場合は以下ツイートしている通り、執筆用のセットを作りました。まあ快適です。

ということで、何回かにわたって、Windowsでいろんなプログラムを一気に起動するツールを作っていきます。

まず今回は、Pythonでアプリケーションを起動する方法です。

では、行ってみましょう!

Popen関数でアプリケーションを起動する

Pythonでアプリケーションを起動するには、subprocessモジュールのPopen関数を使います。

subprocessモジュールは標準ライブラリに同梱されていますのでインストールは不要ですが、スクリプトの最初でインポートする必要はありますね。

import subprocess

Popen関数の使い方はこちらです。

subprocess.Popen(プログラムファイル)

プログラムファイルは、pyファイルと同階層またはPATHが通っていればファイル名だけで大丈夫ですが、そうでない場合はフルパスで指定します。

また、今まで最初の文字が大文字の関数とかメソッドとか見かけなかったですが、「P」は大文字じゃないとダメです。(というか、難しい説明は端折りますが、Popenはコンストラクターというものです。)

ちなみに、「P」はProcessの「P」で、Popen関数は新しいプロセスでプログラムを実行するという動作をします。

Excelのフルパスを調べる

では、みんな大好きExcelを起動してみましょう。

ExcelはPATHは通っていませんので、フルパスを調べる必要がありますね。

まず Win キーを押して、Windowsメニューを開きます。

「ex」などと入力すると、検索結果としてExcelが登場しますので右クリック。開いたメニューから「ファイルの場所を開く」を選択します。

WindowsメニューからExcelの場所を開く

続いて、エクスプローラーでExcelが存在するフォルダにリンクしますので、そこでExcelらしきプログラムファイル(というか、ショートカットですけどね)を見つけて、右クリック。

開いたメニューから「プロパティ」を開きます。

Excelのショートカットキーのプロパティを開く

あ、もちろんランチャーやタスクバーなどにExcelのショートカットアイコンがあれば、そこからプロパティを開いてもOKですよ。

プロパティウィンドウの「ショートカット」タブを選択し、「リンク先」がプログラムファイルへのフルパスになりますのでコピーしておきます。

Excelのショートカットのリンク先をコピー

フルパスはエスケープ文字「\」だらけ

これでフルパスがわかりましたので、Excelを起動してみましょう。

スクリプトはこちら。

実行をしてみると…おや?

PythonのFileNotFoundError

FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

このようなエラーメッセージが表示されました。

おっと、Windowsでは「\」はエスケープシーケンスで「\\」としないといけないのでした。

ですが、フルパスには「\」は何度も出てくるので、いちいち修正するのは面倒…

raw文字列でエスケープ文字を無効にする

そんなときはraw文字列というものを使うと、文字列のエスケープ文字を無効にすることができます。

こんな風に書きます。

r‘文字列’

「r」つけるだけ。大文字「R」でもOKです。

また、シングルクォーテーションはダブルクォーテーションでもOKです。

Popen関数でExcelを起動するスクリプト

では、このraw文字列を使って、先ほどのスクリプトを修正してみましょう。

1文字加えるだけですね。

このスクリプトを実行すると、無事にExcelを起動することができました!

起動したExcelアプリケーション

まとめ

以上、PythonでWindowsのアプリケーションを起動する方法についてお伝えしました。

subprocessモジュールのPopen関数を使ってExcelを開いてみました。

VBScriptでも同様のことができますので、お好みでどうぞ!

VBScriptで複数のファイル・フォルダ・アプリケーションをダブルクリック一発で開く方法
VBScriptを使って複数プログラムを1発で開く方法を紹介しています。起動ファイルを作っておけば、業務ごとに使い分けられるのでWindowsでの業務を効率化できます。また曜日によって起動するプログラムを変えるなんてこともできます。

さて、今回はアプリケーションを開いてみましたが、次回はファイルとフォルダを開いてみたいと思います。

Pythonで特定のファイルをアプリケーションで開く方法とフォルダを開く方法
プログラミング初心者向けにPythonでお仕事で使うプログラムをまとめて起動するツールを作成するシリーズ。今回はPythonで特定のファイルを開く方法とフォルダを開く方法についてお伝えします。

どうぞお楽しみに!

連載目次:Pythonでいろんなプログラムをまとめて起動をする方法

お仕事でいつも使うアプリケーション、ファイル、フォルダ、Webページなどの「定番セット」を自動で起動するPythonスクリプトを作ります。とっても便利です。
  1. 初心者でも簡単!PythonでWindowsのアプリケーションを起動する方法
  2. Pythonで特定のファイルをアプリケーションで開く方法とフォルダを開く方法
  3. 【初心者向けPython】既定のブラウザでWebページを開くツールの作り方