Microsoft Excelを制御する
このページでは、表計算ソフトMicrosoft Excelとプロデルを連係させる方法を紹介します。Excelと連係することで、プロデルからシートのセルに数値を代入したり、シートの追加と移動、ブックの保存・印刷などを操作できます。
この連係機能では、Excelとプロデルを組み合わせてデータを加工するための簡単な機能が用意されています。
関連ページ
Excelを起動する
プロデルからエクセルを起動して、空のシートを作成するには、次のように書きます。
エクセルを起動する エクセルへ新しいワークブックを作成する
すでにエクセルが起動している場合
すでにファイルからエクセルを起動している場合は、次のように書きます。プロデルとExcelを接続して、プロデルから操作できるようにします。
エクセルをリンクする
すでに開いているファイルに対して操作したいときなどは、こちらを利用してください。
※「Microsoft Excel」のショートカットから複数起動した場合、正しく動作しないことがあります
ブックとは
Excelのファイルのことを表します。ブックには複数のシートを格納できます。
例 表計算.xls
シートとは
ブックに含まれるシートのことを表します。シートは、画面の下のタブで切り替えることができ、自由に増やしたり消したりできます。
例 Sheet1, Sheet2
既存のxlsファイルを開く
すでに存在するxls/xlsx/xlsmファイルを開くには、次のように書きます。
エクセルを起動する エクセルで「[プログラムのフォルダ]注文表.xlsx」を開いて操作ブックとする
例文 シートの内容をすべて出力する
シートのセルの内容を取得するには、セルの「一覧」設定項目を使います。
また、シートの「使用範囲」で値が入力されているセルの範囲を取得できるので、これらを使ってセルのすべての値を取得できます。
エクセルを起動する エクセルで「[プログラムのフォルダ]注文表.xlsx」を開いて注文表ブックとする データは、注文表ブックの選択シートの使用範囲 一覧は、データの一覧 Rowを1から一覧の個数まで増やしながら繰り返す 行は、一覧(Row) Colを1から行の個数まで増やしながら繰り返す 一覧(Row,Col)を報告する 繰り返し終わり 繰り返し終わり
セルに文字列を入力する
指定したセルに文字や数字を入力する場合は、次のように書きます。
この場合、A1のセルに「こんにちは」と入力します。
(エクセルの現在シート:セル(「A1」))の内容を「こんにちは」に変える
セルに計算式を設定する
他のセルを参照する場合や、Excelの関数を指定する場合は「計算式」設定項目を使います。
(エクセルの現在シート:セル(A1))の計算式を「=sum(A1:A6)」に変える
セルの内容を取得する
セルの内容を表示する場合は、次のように書きます。
「セルA3の内容は: [(エクセルの選択シート:セル(「A3」))の内容]」を表示する
セルA3の部分の内容を表します。
R1C1方で指定するときは、次のように書きます。
「セル(1,3)の内容は: [(エクセルの選択シート:セル({1,3}))の内容]」を表示する
セルを選択する
特定のセルを選択するには「選択範囲」設定項目または「選択する」手順を使います。
例文 単一のセルを選択する
セルA1を選択
エクセルの現在シート:セル(「A1」)を選択する
例文 連続するセルを選択する
セルA1からB5までを選択します。連続する複数のセルを指定するには「:」を使います。
エクセルの現在シートの選択範囲を「A1:B5」に変える
見た目を変える
例文 Excelのセルの字体を変える
「セル」種類で、セルのフォント名や字体を変えられます。
選択しているセルの書体を太字+斜体に変えます。
選択セルは、エクセルの選択シートの選択 選択セルの内容を「プロデル」に変える 選択セルの太字を○に変える 選択セルの斜体を○に変える
例文 Excelのセルの幅や高さを変える
B4のセルの幅と高さを変えます
選択セルは、(エクセルの現在シート:セル(「B2」)) 選択セルの幅を100に変える 選択セルの高さを30に変える
例文 Excelのセル色を変える
文字色や背景色を変更できます。
選択セルは、エクセルの選択シートの選択 選択セルの内容を「プロデル」に変える 選択セルの背景色を黄緑に変える 選択セルの文字色を白に変える
セルのコピーと貼り付け
セルを別の指定したセルへコピー、貼り付け、移動できます。
例文 指定したセルをコピーします
(エクセルの現在シート:セル(「B2:F4」))をコピーする
例文 コピーしたセルを貼り付けます
(エクセルの現在シート:セル(「B9」))を貼り付ける
例文 プレビュー後に印刷します
プレビューの表示と印刷は、次のように書きます。
エクセルのワークブックをプレビューする エクセルのワークブックを印刷する
エクセルの保存と終了
例文 ブックを保存する
作成したブックは、Excel形式で保存できます。
ーー名前を付けて保存
エクセルの現在ブックを「名簿.xls」へ保存する
ーー上書き保存
エクセルの現在ブックを保存する
例文 ワークブックを閉じてエクセルを終了する
編集中のワークブックを閉じたり、エクセルを終了したりするには、次のように書きます。
エクセルの現在ブックを閉じる エクセルを終了する
シートへ自動入力する例
例文 シートへ自動入力する
エクセルのシートに自動入力するプログラム例を紹介します。
くだもの屋さんの果物が、いくつ売れたかとその売り上げを計算したシートを作るとします。まず、エクセルで元となるシートを作ります。売り上げは、プロデルが自動的にしてくれるので、売り上げ個数のセルは空白にしておきます。売り上げ個数の合計を計算するセル(C10)の部分は、
=sum(C4:C9)
と入力して、Excel側で計算するようにしておきます。
次の例では、C4~C9のセルに、それぞれの商品の売り上げ個数が自動入力されます。その後、C10のセルにある売り上げ合計をプロデルに出力します。計算した今日の売り上げは、別シートとしてファイルに保存します。
売り上げに入力される数値は「乱数」手順を使ってランダムに決めていますが、ウィンドウのテキストに入力した値などを使うこともできます。
ーーCSVファイルや入力手順、テキスト部品などに書き換えすることもできます りんごの数は、0から30までの乱数 みかんの数は、0から20までの乱数 すいかの数は、0から5までの乱数 ぶどうの数は、0から20までの乱数 なしの数は、0から20までの乱数 ももの数は、0から10までの乱数 ーーエクセルの起動してファイルを開く エクセルを起動する エクセルで「[プログラムのフォルダ]エクセル(実用例).xls」を開く ーー内容の入力 シートは、エクセルの現在シート (シート:セル(「C4」))の内容をりんごの数に変える (シート:セル(「C5」))の内容をみかんの数に変える (シート:セル(「C6」))の内容をすいかの数に変える (シート:セル(「C7」))の内容をぶどうの数に変える (シート:セル(「C8」))の内容をなしの数に変える (シート:セル(「C9」))の内容をももの数に変える ーー内容の表示 「今日の売り上げは:[(シート:セル(「E10」))の内容]円です」を表示する ーーワークシートの保存 エクセルの現在ブックを「[プログラムのフォルダ]売上-[日付].xls」に保存する エクセルを終了する
マクロを実行する
ワークシートに含まれるマクロを実行できます。
例えばブックに含まれるマクロを実行するには、次のように書きます。マクロ.xlsmには、あらかじめモジュールにTestMacro1を定義してください。
エクセルを起動する エクセルで「マクロ.xlsm」を開く 対象ブックは、エクセルの選択ブック ーーマクロを実行させます 対象ブックにある「TestMacro1」をマクロ実行する 対象ブックを閉じる もしエクセルのワークブック一覧の個数が0なら、エクセルを終了する
※マクロは、Excelの「ツール」-「マクロ」-「マクロ」または「Visual Basic Editor」で作成します。詳しくは、Microsoft Excelのヘルプなどをご覧下さい。
シートの関数を呼び出す
各シートに定義した関数を呼び出す場合は、シート名を指定します。次の例では、Sheet1に定義した「Sub TestMacro()」を実行します。
ーーSheet1のTestMacroを実行
エクセルにある「Sheet1.TestMacro」をマクロ実行する
引数を指定する場合
引数を指定する関数の場合「~で」に引数を配列形式で指定します。ただし、VBA関数の引数は、必ず文字列型(String)である必要があります。また、指定できる引数の数は、10個までです。
' VBAのコード Function TestMacro2(ByVal Value As String, ByVal Title As String) As String MsgBox Value, Title TestMacro2 = "戻り値です" End Sub
ーー引数のあるマクロ実行 エクセルにある「TestMacro2」を{「こんにちは」,「メッセージ」}でマクロ実行する ーー戻り値を得る場合 エクセルにある「TestMacro2」を{「こんにちは」,「メッセージ」}でマクロ実行して、表示する
ブックやシートに関する操作
プロデル上からブックを増やしたり、シートを切り替えたりできます。
ブックやシートの切り替え
ブックやシートを切り替えるには、次のように書きます。
エクセルのワークシートを「Sheet1」に変える
エクセルのワークブックを「成績表.xls」に変える
数値(左から1,2,…)で指定することもできます。
エクセルで開いているファイルの一覧を取得する
エクセルのワークブック一覧を表示する
ブックに含まれているシートの一覧を取得する
エクセルの選択ブックのワークシート一覧を表示する
シートの追加
「新しいワークシートを作成」手順を使います。
エクセルに新しいワークシートを作成する
シートの削除
シートを削除するには、シートの「削除」手順を使います。
エクセルの選択シートを削除する
シートのコピー
シートの内容を複製するには、シートの「コピー」手順を使います。
エクセルの選択シートを「コピーシート」へコピーする
シートの並び順の変更
ーー現在選択しているシートをSheet1の直前へ移動します
エクセルの選択シートの「Sheet1」へ移動する
エクセル連係の拡張
プロデルでサポートしているExcelの機能は、ほんの一部です。Excelには様々な機能が用意されており、それらの機能すべてを対応できません。
しかし、少しでもプロデル上で操作ができるように、VBAで利用できるプロパティの一部を、プロデル上で直接指定できます。
コレクションを含むオブジェクトの指定やメソッドには対応していませんが、値の設定や取得など、プロデルでサポートしていない最低限の情報を取得できます。
例文 ワードアートのテキストを設定、取得する
エクセルをリンクする
エクセルの図形の「ワードアート 1」の「TextEffect.text」を、時間に変える
内容は、エクセルの図形の「ワードアート 1」の「TextEffect.text」
内容を表示する