Sチャート8の計算値をExcelで利用できる準備をしてみた話

初回からマニアックな内容になりそうです。
(株)ストラクチャーのチャートは二次部材の計算等の機能が備わっており、業界でもそれなりのシェアを誇っているのはないでしょうか。
私もユーザーのひとりですが、Excelを用いて別途計算している中にこの計算値を引っ張って来たいという場面がしばしば訪れます。
この場合、画面出力や紙出力を見て直接入力するというがオーソドックスなやり方ではありますが、計算値に変更が生じた場合や入力する数が多い場合を考えると直接入力するのは気が進まないし、打ち間違える心配があります。
私はできることなら計算値をデータベース化してVLOOKUPやXLOOKUPに頼りたい面倒くさがりなので、試行錯誤してみたというのが今回のお話です。

どうやるか

チャートの標準機能で計算結果をXMLドキュメントの形式に保存できるので、そのXMLドキュメントをExcelに読み込む!以上!

しかしながら、このプロセスでは一部問題が残ることに・・・。順を追って見ていきます。

今回用意したのはS造小梁の設計ファイルです。2つのファイルを用意しました。一方をケース1、もう一方をケース2と呼ぶことにします。
ケース1のファイルの印刷出力と、XMLドキュメントにしてExcelで読み込んだ結果は以下の通り。

ケース1印刷出力
case1 xml to excel
ケース1 XML Excel読込結果

ケース2のファイルの印刷出力と、XMLファイルにしてExcelで読み込んだ結果は以下の通り。

ケース2印刷出力
case2 xml excel
ケース2 XML Excel読込結果

あれれ~どちらの登録データは2つだけのはずですが、複数行出力されてしまいます!ケース1はこのままでもかろうじて欲しい値を引っ張て来られそうですが、精神衛生上良くないかなと。ケース2に至ってはデータが一行に収まってないではないですか!INDEX関数やMATCH関数などを駆使して欲しい値を引っ張って来ることは可能ではあると思いますが、 やはり精神衛生上良くないに尽きる。
(私と同じような症状の方はつづきをご覧下さい。)

なぜこのような出力になってしまうかを検証したところ、荷重パラメータの出力が影響していることが分かりました。実は、上記ケース1とケース2の違いはSB298に2つ目の荷重が登録されていることだけなのです。XMLドキュメントの記述ルールについては詳しく知っているわけではないのですが、そのようです。
そうならば荷重部分の記述を削除してみてはどうか。欲しいのは応力値なので問題無いでしょう。まずは「メモ帳」でXMLドキュメントを開いて・・・

ケース1 XMLドキュメントの中身(抜粋)

赤枠内の荷重部分の記述を各登録で削除→保存。このXMLドキュメントをExcelで開いてみると・・・

case1 deleteload xml excel
ケース1 荷重部分削除後 XML Excel読込結果

私の求める結果を得ました!登録した2つのデータがそれぞれ1行に収まっており、とても扱いやすくなりました。最終行にある無題の部分はどうしても出力される模様。気になる場合は荷重部分の記述を削除するついでに消すのもありでしょう。また、応力の結果でせん断力Qは左端、右端のうちの最大値が取り出せるということになっていることには留意する必要があります。
(いちいちファイル開いて特定の部分を人力で消すとかメンドクナイ?と思われる方はつづきをご覧下さい。)

しかし、このやり方では登録数が増えた時や、頻繁に値を入れ替えたい時にはしんどくなってきます。ですからコンピューターさんに頼りましょう!
今回は「Power Automate Desktop」を使ってみました。XMLドキュメントを操作できるので、荷重部分削除の記述をちょいっとプログラミングしておけば、これで困ることはありませんね。ちょいっとの中身が必要な方がいらっしゃればコメントで教えて下さい。ブログ更新の励みになります!

最後に、今回はS造小梁の設計ファイルを使ってみましたが、その他のファイルでは挙動が異なることもあるかも知れませんので悪しからず。

これでまたひとつ効率化できた(気がする)!

コメント

タイトルとURLをコピーしました