Designer:xoBlos Pro からの移行

Designer の前身である、xoBlos Pro からの移行に関する記事です。

xoBlos Pro は、2016年4月に販売を終了し、その機能と製品コンセプトは、xoBlos corabo の中の Designer に継承されています。

 

左側が Pro のアイコン、右側が Designer のアイコン

f:id:xoblos:20171001101855p:plain

 

xoBlos Pro から Designer へ移行時の注意点

  1.  Pro で作成したxobファイルを、Designer で開いて保存すると、Pro では開けなくなる場合があります。このため、Designer で保存時に、
     [業務ファイル名].xob_v1.1.bak
    のような名前で、バックアップファイルが作成されます。Pro での確認が必要になったときは、バックアップファイルを開いて確認してください(拡張子は .xob に戻す必要があります)。
  2. Designer では、高速エンジンを使用する「はい」がデフォルトとなったため、Pro で作成したxobファイルに、高速エンジンを使用する「いいえ」の手順があった場合、Designer で保存時に「はい」になってしまいます。該当箇所があった場合は、「いいえ」に戻して保存してください。

その他、あまり使われない機能ですが、[画面に経過を表示しながら実行しますか?] の選択値デフォルトがProとDesignerで違う点や、外部アプリ実行手順での設定で若干調整が必要なケースなどがございます。

corabo:SQL Server 接続確立時のエラー

ログインした途端にエラー。

f:id:xoblos:20170927144543p:plain

corabo にログインして、上図のようなエラーが出た場合は、以下のサービスの状態を確認してください。「停止」になっていたら、「開始」に変更しましょう。

f:id:xoblos:20170927144555p:plain

関連記事はこちら

Excel:セルの見た目

見た目の判断は駄目。

突然ですが、下図の列「C」‥‥いずれの行も「101」が入っていますが、全て異なる入力で生まれました。貴方には違いが分かりますか?「=」始まりの数式はありません。ユーザー定義の書式も使っておらず、「標準」か「文字列」です。

f:id:xoblos:20170925151715p:plain

そうですね、確かに「標準」か「文字列」かの違いまでは判断できます。

①:入力値「101」、標準書式、左詰め。
②:入力値「101」、標準書式から文字列書式へ変更。
③:入力値「101」、文字列書式。
④:入力値「'101」、標準書式。
⑤:④によるブックの破損~回復で変換された「101」、標準書式。

②は再編集して[Enter]を押下すると、③になります。⑤は再編集して[Enter]を押下すると、標準で数値を入力された時のように、右詰めで「101」になります。

見た目が同じという判断だけで、同じように取り扱える訳ではありません。何かこのセル値が怪しいな、と思ったら先ず「再編集」をすることをお勧めします。セルの左上部分にある緑の三角形は、編集後の値を最新の情報として、エラーチェックを行っています。左詰め等は、文字列の情報というよりは寧ろ見栄えの編集なので、②は③~⑤のようにすぐさまエラーチェックが行われる訳ではありません。

なお④(アポストロフィ「'」始まり)は、標準書式内、数値の表現を「文字列の情報」として判断させる為に入力する方法になります。これは、場合によってブックの破損へ及ぶようで、Excel 2010/2013/2016 に良く見られるようです。生成の雛形シートの作成には、「出力先と同じバージョンのブックで作成する」ことと「シート内に『'』始まりはなるべく避ける」ことが、特に注意点となりますね。

<ブックの破損内容例>
パーツ内の文字列プロパティ:上図の④
パーツ内の名前付き範囲  :前回記事

Excel:COUNTIF関数で "true"、"false" を扱うときの注意

ExcelCOUNTIF 関数は、アンケート結果の集計などで良く使う関数かと思います。

  =COUNTIF(範囲, 検索条件)

という書式で、検索条件に指定した条件を満たすセルの個数を求めます。

 =COUNTIF(M2:M300, "はい")
 =COUNTIF(M2:M300, true)
のような感じで使用することが多いのですが、この true や false(論理値)の場合は注意が必要です。

Excelシートから直接、truefalse を論理値入力する場合は良いのですが、文字列として ’true や ’false を入力した場合や、[セルの書式設定]-[表示形式] が「文字列」になっている場合や、他のアンケート収集データを連携したために、元々 "true" や "false" と文字列になっている場合は、

  =COUNTIF(M2:M300, "true")

  =COUNTIF(M2:M300, "false")

としても、該当セルをカウントしてくれません。Excelの COUNTIF関数は、"true" と "false" という文字列に対して、特別な扱いをするようです。

このため、あまり納得のいく書き方ではありませんが、以下のように両端に「*」を付加することにより、該当セルをカウントできます(もちろん、"true123" や "123false" もカウントしてしまいますが)。

  =COUNTIF(M2:M300, "*true*")

  =COUNTIF(M2:M300, "*false*")

 

Excel:ブックの破損

回復確認のダイアログが出る。

f:id:xoblos:20170913174033p:plain

高速エンジンを使用して生成した Excel で、ファイルを開こうとしたら上図のようなダイアログが出たことはないでしょうか。考えられる原因は幾らかありますが、大抵の理由は以下のとおりになります。確認してみてください。

ひな形行、あるいはひな形列上に名前定義がある。:名前定義が不正に削除される。
名前定義に、マクロ関数を割り当てたものがある。:高速エンジンが解析できない。
名前定義の定義名に、記号が含まれたものがある。:高速エンジンが解析できない。
生成するシートの名称に、カッコが含まれている。:高速エンジンが解析できない。

Designer:繰り返し実行指定ファイルの中身が空のときは?

「手順の繰り返し実行」を設定した手順で、繰り返し指定ファイル(パラメーターリスト)の中身が空のときはどうなるでしょうか?

f:id:xoblos:20170910085143p:plain

上図のようにデフォルト設定では、その繰り返し手順は警告終了となりますので、後続手順が実行されます。

繰り返し指定ファイルの中身が空のときに、後続手順を実行させたくないときは、以下のように後続手順の [判定条件] 設定で、[先行手順の実行結果が次のとき実行する][警告終了]「いいえ」に設定します。 

f:id:xoblos:20170910090251p:plain

f:id:xoblos:20170910090307p:plain

Designer:ユーザーの一時フォルダにサイズの大きな .tmp ファイルが作成されるとき

現象

xoBlosを実行すると、ユーザーの一時フォルダ
  C:\Users\<ユーザー名>\AppData\Local\Temp
にサイズの大きな .tmp ファイルが作成される。

原因と対処方法

Excel 表から抽出」手順で、サイズの大きな抽出対象ファイルをCSV形式で指定している場合は、その手順を見直してみましょう。

CSV形式からの抽出で、高速エンジンの使用が「はい」になっている場合は、「いいえ」で設定してみてください。「Excel 表から抽出」手順では、CSVファイルを一旦 Excelファイルとして処理するため、.tmp ファイルが作成されてしまうことがあります。

CSVファイルをXMLファイルに変換するには、「変換(CSV→抽出データ)」手順やxobQueryを使用する方法もありますので、検討してみてください。