TECH MEDIA

テックメディア


ノウハウ
ブログ

RPAを使った業務の自動化に挑戦(中編)

RPA
目次
  1. 01|はじめに
  2. 02|手順の説明
  3. 03|さいごに

1. はじめに

皆さん、おはこんばんにちは! SIer出身のエンジニア、みやもとです。

「RPAを使った業務の自動化に挑戦(前編)」に引き続きRPAを使った業務の自動化に挑戦したいと思います。前回は、自動化するためにどのようなパッケージを使うかを書きましたが今回はそのパッケージを組み込んでデスクトップアプリ作るためにElectronをインストールしたいと思います。

 

前編をご覧になっていない人はこちらから!

 

1.Electronとは

Electronは、GitHubが開発したオープンソースのソフトウェアフレームワークである。
ChromiumとNode.jsを使っており、HTML、CSS、JavaScriptのようなWeb技術で、macOS、Windows、Linuxに対応したデスクトップアプリケーションをつくることができる。 ( Electron (ソフトウェア) -Wikipediaより引用)

Electronは、 SkypeやVisual Studio Code、Slackなどでも使われており簡単にデスクトップアプリを作成できるソフトウェアフレームワークです。

2. 手順の説明

①Node.jsのインストール

Electronをインストールする前にNode.jsをインストールします。

 

②Electronのインストール

下記のコマンドを実行して、 Electronをインストールします。
インストールするとコマンドを実行したディレクトリ直下に下記のファイルが作成されます。

 


npm i -D electron

③Electronの実行ファイル作成

Electronをインストールすると出来上がるsrc直下にファイルを作成します。


{
"main": "main.js"
}


const { app, Menu, BrowserWindow } = require('electron');
const path = require('path');
const url = require('url');

let mainWindow;

function createWindow() {
mainWindow = new BrowserWindow({ width: 800, height: 600});

mainWindow.loadURL(url.format({
pathname: path.join(__dirname, ‘index.html’),
protocol: ‘file’,
slashes: true
}));

// 開発ツール有効化
// mainWidow.webContents.openDevTools();

const menu = Menu.buildFromTemplate(createMenuTemplate());
Menu.setApplicationMenu(menu);

mainWindow.on(‘closed’, () => {
mainWindow = null;
});
}

app.on(‘ready’, createWindow);

app.on(‘window-all-closed’, () => {
if (process.platform !== ‘darwin’) {
app.quit();
}
});

app.on(‘activate’, () => {
if (mainWindow === null) {
createWindow();
}
});

// メニューテンプレート作成
function createMenuTemplate(){
let template = [{
label: ‘ファイル’,
submenu: [{
label: ‘開く’,
accelerator: ‘CmdOrCtrl+o’,
click: function(item, focusedWindow) {
if (focusedWindow) {
focusedWindow.webContents.send(‘main_file_message’, ‘open’);
}
}
}]
}]
return template;
}

 

④Electronの実行

下記のコマンドをElectronをインストールしたディレクトリで実行します。

npx electron src

3. さいごに

Electronは様々なデスクトップアプリで使われていますが、使ったことがなかったので今回試しにインストールして実行まで行いましたがものすごく簡単にデスクトップの枠組みができました。まだデザインや機能を組み込んでいないため真っ白な画面となっていますが、今後はPyAutoGuiを使って処理を組み込んで行き業務の自動化を進めていきたいと思います。

 

【参考】

最新版で学ぶElectron入門 ウェブ技術でPCアプリを開発しよう。

RECRUIT 採用情報

「eビジネスに関わる全ての人を幸せにする」
私達とともに新たな時代をつくりませんか?