Excelを使って、資産管理や商品管理をしている人も多くいるでしょう。その際、外貨や商品代金を別途調べて、定期的にExcelファイルに書き込むことがあります。しかし、Excelファイルがたくさんある場合、定期的にそれらを更新するのは大変です。なでしこを使って自動的に為替レートを書き換えるプログラムを作ってみましょう。
なでしこ3のPC版をインストールしよう
今回のプログラムでは、ローカルPCにある、Excelファイルを書き換えることになります。そこで、PC版のなでしこ3を使って作業を自動化してみましょう。なでしこ3のPC版(Node.js版)を使うと、簡単な日本語のプログラムで、いろいろな仕事を自動化できます。
本連載では、主にWeb版のなでしこ3についてプログラムを紹介してきましたが、PC版を使う事で、Excelの読み書きをしたりメールを送信したり、いろいろな処理が手軽に実現できます。最初に、なでしこ3のPC版をインストールしましょう。
【Windowsの場合】
なでしこ3のWindows版は、こちら(https://github.com/kujirahand/nadesiko3win32/releases)からダウンロードできます。「Source code(zip)」のリンクをクリックして、ZIPファイルをダウンロードしてください。そして、start.exeというファイルをダブルクリックしてプログラムを実行します。初回のみライブラリのセットアップが行われます。次の画面が表示されたら「はい」をクリックして初期化処理を行いましょう。
初期化処理が完了したら、次の画面にあるように「なでしこ3のPC版(Node.jsランタイム)を実行」ボタンをクリックしましょう。すると、ブラウザが起動して、なでしこ3のPC版エディタが表示されます。
【macOS/Linuxの場合】
macOSやLinuxの場合は、最初にNode.jsをインストールします。こちら(https://nodejs.org/en)からNode.jsのインストーラーを入手してインストールしましょう。そして、ターミナル(macOSなら、ターミナル.app)を起動して、下記のコマンドを実行しましょう。すると、なでしこ3のPC版エディタが起動します。そして、表示されたURLにブラウザでアクセスしましょう。
# なでしこ3をローカルにインストール
npm install nadesiko3
# PC版エディタを起動
$(npm prefix)/node_modules/.bin/nako3edit
ブラウザにアクセスすると、次のように表示されます。
簡単なプログラムを実行してみよう
なでしこのPC版(Node版)エディタが起動したら、「新規作成」ボタンをクリックしましょう。すると、プログラムの入力画面が出ます。ここで次のようにプログラムを記述してみましょう。
F保存先=「{デスクトップ}/test.txt」
F保存先に「七転び八起き」を保存。
F保存先を開いて表示。
そして「実行」ボタンを押すと、OSのデスクトップに「test.txt」というファイルを作成して、テキストを書き込みます。
Excelファイルを操作するプラグインをインストールしよう
それでは、今回の本題となるプログラムを作成しましょう。最初に、Excelを操作するプラグイン「nadesiko3-office」をインストールしましょう。
【Windowsの場合】
Windowsでは、「start.exe」を実行して、「拡張プラグインのインストール」ボタンを押します。モジュールの一覧を表示するかと尋ねられるので「いいえ」ボタンをクリックして、続いて、「nadesiko3-office」と入力します。すると、黒いウィンドウが表示されて必要なライブラリのインストールが行われます。
【macOSの場合】
macOS/Linuxではターミナル.appで下記のコマンドを実行しましょう。WindowsでもNode.jsをインストールしてあれば、PowerShellからインストールすることもできます。
npm install nadesiko3-office
更新対象となるExcelファイルを作成しよう
それでは、ここで、デスクトップに「資産管理.xlsx」というExcelファイルを作成しましょう。これは、次の画面イメージのようなExcelの表です。銀行やFXなど、米ドルで保持している資産に対して、現在のレートだと日本円でいくらになるのかを計算するものです。こちら(https://kujirahand.com/blog/go.php?819)から、ダウンロードできます。
この表を作成するポイントですが、まず、セル「C3」には為替レートを記述し、B列に米ドルの金額を記入します。そして、C列には為替レート(C3)を参照して日本円を計算するように、計算式を記述します。例えば、C6に入力する計算式として「=B6*C3」を、C7には「=B7*C3」を記述します。
なでしこのプログラムで為替レートを自動で書き換えよう
次に、なでしこのプログラムを使って、Excelファイルの為替レート(C3セル)を自動で書き換えるプログラムを作ってみましょう。
PC版(Node版)エディタを起動し、上記のExcelファイルをデスクトップにコピーしてから、次のプログラムを実行しましょう。
# プラグインを使うことを宣言 --- (*1)
!「nadesiko3-office」を取り込む
# ファイルのパスや為替レートを設定 --- (*2)
対象ファイル=「{デスクトップ}/資産計算.xlsx」
保存ファイル=「{デスクトップ}/資産計算-最新レート.xlsx」
為替レート=140
# Excelファイルを開いて、為替レートなどを設定 --- (*3)
対象ファイルをエクセル開く。
「C2」へ今日をエクセル設定。
「C3」へ「={為替レート}」をエクセル設定。
# 書き換えた内容をファイルに保存 --- (*4)
保存ファイルにエクセル保存。
「完了」と表示。
プログラムを実行すると、デスクトップにある「資産計算.xlsx」を読み込み、今日の日付をセルC2へ、為替レートをセルC3に書き込み、「資産計算-最新レート.xlsx」というファイルへ保存します。
プログラムを確認してみましょう。(*1)では「nadesiko3-office」プラグインを読み取ることを指定しています。(*2)では読み込み対象となるファイルや、書き込み先のファイルを指定します。プログラムを実行してみて、問題がなければ対象ファイルと保存ファイルを同一のファイルにすると良いでしょう。
(*3)ではExcelファイルを読み込み、日付やレートをセルに書き込んで、(*4)で保存ファイルへ保存します。
ネットから最新参考レートを取得するように改良しよう
ただし、上記のプログラムは、毎回為替レートとして「140」を書き込むだけのものです。実際には、これでは、あまり意味がありません。次に、ネットから参考レートを取得して書き込むように修正してみましょう。
なお、参考為替レートは、筆者が公開している「クジラ外国為替確認API(https://api.aoikujira.com/index.php?fx)」を使ってみましょう。このAPIサービスは為替の参考レートを手軽に取得できるもので、1日に1回更新されます。