エラーメッセージ:インデックスが配列の境界外です。

f:id:xoblos:20170205154339p:plain

このエラーは、データをセットしようとしているセルが、「対象部分の右下」キーワードでセル指定した範囲に収まっていないときなどに起こります。「対象部分の右下」を見直してみましょう。

 

ラピッドプロトタイピング(高速試作)手法

xoBlos(ゾブロス)を利用した業務システム開発の良い点は、初期の要件定義段階や設計段階で、外観や機能の評価を行うために試作システムを簡単に作れるところにあります。

世の中の多くの業務システム開発では、調査・分析、要求・要件定義、設計、実装、テスト、導入・運用という全体の工程の中で、実装がかなり進んだ段階でしか、外観や機能の評価が行えない、というのが当たり前です。

xoBlos(ゾブロス)を利用し、プロジェクトの初期の段階で試作(プロトタイプ)を作成すれば、ユーザー(利用者)が仕上がりイメージを確認できるタイミングが早くなり、その後の開発を円滑に進めることができ、開発コストの低減にもつながります。

(この記事では、まず粗筋を書いて、随時詳細を膨らましていきます)

xoBlos(ゾブロス)を利用したラピッドプロトタイピング手法

  1. 現行および将来使用するExcelファイルを収集し、ジャンプスタートの準備をする。
  2. 動詞・名詞分析を行う。
  3. xoBlos Designer でXMLモデルを作成する。
  4. xoBlos corabo でGUIプロトタイプを作成する。
  5. 試作(プロトタイプ)で概観や機能を評価する。
  6. ユーザーマニュアル(ドラフト版)を作成する。
  7. ユーザー(利用者)との確認セッションを実施する。

エラーメッセージ:XMLのタグ名として適さない文字が含まれています。

Designer画面でのエラーメッセージ

XMLのタグ名として適さない文字が含まれています。」というエラーメッセージが出るとき。

f:id:xoblos:20170202012957p:plain

この例では、"売上高(実績)" という項目名の中の、"(" と ")" という文字が適していないケースです。

原因と対処方法

抽出処理で設定する「出力項目名」(XMLタグ名)には、XML勧告で決められた、使用できない文字が含まれてはいけません。上図のケースでは、"売上高_実績" のように設定すれば、エラーは出なくなります。 

【参考記事】
項目名(XML要素名)に使える文字は?
https://www.xoblos.com/?p=4448

オートフィルの基本

出力単位別に取り扱う。

オートフィルは Excel の標準機能であり、セルの「選択値/選択範囲」によって、出力の規則性は変わります。下図のように、規則の基本となる値を置き、通常のマウスドラッグと[Ctrl]キーを押しながらのマウスドラッグとでは、出力の内容に違いがあるのを覚えておきましょう。

f:id:xoblos:20170127145513p:plain

f:id:xoblos:20170127160053p:plain

f:id:xoblos:20170127145522p:plain

f:id:xoblos:20170127145527p:plain

この機能/操作に慣れることで、下図のような制御シートの作成も楽になります。

f:id:xoblos:20170127145532p:plain

上図のような R1C1 形式【(1,1)、(1,2)、(1,3)...】は、列方向のオートフィルでも規則性を認識できますが、A1 形式【A2、B2、C2...】での列方向のオートフィルはどうあっても一手間いるようですね。前回記事に挙げた方法を是非活用してみてください。

おまけ

ユーザ定義なる規則を設定するには、下図のような流れになります。

f:id:xoblos:20170127145736p:plain

f:id:xoblos:20170127145743p:plain

変数の「実行時に入力する」の真意

連携の発生とは。

「corabo で指定したパラメータ値を Designer が受け取って処理を行う」のは連携が発生していることになります。それは「Designer から Designer」の形態でも同じことが言えます。業務ファイルに設定できる変数は、連携する相手側には勿論、それを受け取るためのお皿が必要です。

f:id:xoblos:20170126140241p:plain

上図「パラメータのやり取り.xob」を呼び出し元の業務ファイル、「呼ばれる業務.xob」を呼び出し先の業務ファイルとします。業務の内容は、前者業務では「data.txt」を「dataCopy_実行時に指定された内容.txt」と命名してコピーし、後者業務にて正常にコピーされたかを確認します。各業務ファイルの中身は下図のとおりです。

・パラメータのやり取り.xob

f:id:xoblos:20170126140247p:plain

f:id:xoblos:20170126140254p:plain

・呼ばれる業務.xob

f:id:xoblos:20170126140302p:plain

それでは、「呼ばれる業務.xob」側の変数の設定を下図のようにし、「パラメータのやり取り.xob」を実行してみましょう。

f:id:xoblos:20170126140508p:plain

f:id:xoblos:20170126140514p:plain

呼び出し元の方に、呼び出し先の業務の実行結果が返ってきました。変数の内容が渡されていないので、コピーされた「dataCopy_実行時に指定された内容.txt」を見つけることができませんでした。前回記事のようなケースでも、お皿を用意するだけでは足りませんでしたね。

「Designer から Designer」の形態も、連携が発生しているので、「呼ばれる業務.xob」側の業務の設定内、『d.実行時に入力しますか?』項を「はい」にします。

f:id:xoblos:20170126140523p:plain

f:id:xoblos:20170126140530p:plain

連携は、当該設定の「はい」で初めて成立することを覚えておきましょう。

制御シートの書き換え設定で「固定値」に値を設定するとき

Designer からの「制御シートの書き換え設定」

f:id:xoblos:20170125113247p:plain

制御シート

f:id:xoblos:20170125113254p:plain

上図のような仕組みで、変数の「受注時間」を、制御シートの「#受注時間」に文字列でセットしたいとします。

「1503」(15時3分)という値だとうまくいき、「0928」(9時28分)という値だと、出力が「928」と前ゼロがとれてしまう場合は、ExcelD17の「セルの書式設定」を見直しましょう。

表示形式が「標準」になっていたら、「文字列」に変更しましょう。

f:id:xoblos:20170125114205p:plain

「行ひな形の左上」、「データ部分の左上」についての図解

生成用制御シートの「行ひな形の左上」、「データ部分の左上」について図解してみました。

f:id:xoblos:20170120133628p:plain