人気ブログランキング | 話題のタグを見る

はこにわオーディオ工学研究分科会 (旧名: バスレフ研究所)

LibreOffice VBAでシミュレーションプログラムを起動

オフ会が終わったので、多自由度バスレフのシミュレーションプログラム改造をすすめています。
自分がしたいのは、LibreOffice/OpenOffice(ISO/IECフォーマット)のファイル上のボタンをクリックすると、シミュレーションケースを作成し、また、CUIのプログラムを実行するものです。
さらに、CUIのプログラムで作成した結果ファイルを、VBAのボタンひとつで取込んで、結果もそこからボタンひとつで表示できるようにしようというものです。
まだ、試行錯誤の段階ですが、下記のようなイメージです。
LibreOffice VBAでシミュレーションプログラムを起動_a0246407_781147.png

画面には、ボタンが並んでいます。

ここで、スプレッドシート上に、実行したいシミュレーション条件を入力し、ボタンを押すと、CUIのシミュレータ用の条件ファイルを出力する(ここまではできました)

そして、実行ボタンをクリックすると、ひとつのケースについては、シミュレーションを実行する(いまこの途中)

さらに、条件ファイルを複数作成し、ボタンひとつで自動実行(この先)

最後は、ボタンひとつで、結果をスプレッドシートに取込みまとめて表示(その先)

と、こんな具合ですが、なかなか簡単ではありません。

簡単でないのは、自分の知識不足がいちばんの理由なのでしょうがありませんが、

いま、シミュレーションを実行できるところまでは、来ています。
ところが、最初は、実行ファイルを叩いても、ランタイムエラーで異常終了していました。
どうやら、実行ファイルを叩いても、条件ファイルを正しく読み込んでいないようです。
しばらく考えていましたが、叩いた実行ファイルを、OSがどこか別のメモリー空間(というか、テンポラリーフォルダ)で実行しているのではないかと思い、Cプログラムのファイル指定を、フルパスに変更したら、普通に動きました。
しかし、これでは、ユーザーがCプログラムの中身を環境に合わせて編集し、コンパイルし直さなければならないので、汎用性がありません。
こういうのってスマートじゃありませんよね。

ということで、再コンパイルなしで、せめて、スプレッドシート上でパスを設定できないか画策中です。

ここを乗り越えられれば、スプレッドシート上からボタン三つ四つでシミュレーション可能になります。

まあ、悪いことばかり書いてますが、それでも自分のプログラミング能力は上がっていると感じています。
少なくとも、修論書いてた頃よりは、かなり進歩しました。
プログラマーの仕事は、若いうちにピークに達すると云われていますが、オジサンでも、少しずつは成長するんだ、というのが、これからの高齢化社会に向けた希望でしょう。
by mcap-cr | 2014-10-17 07:30 | プログラミング | Trackback | Comments(4)
トラックバックURL : https://mcap.exblog.jp/tb/20295335
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
Commented by assi at 2014-10-18 00:56 x
オフ会ではありがとうございました。
さて、CUIのプログラムですが、条件ファイルの指定をコマンドライン引数にするのが良いと思います。
int main(int argc, char *argv[])
でコマンドライン引数を受け取ることができます。
Commented by mcap-cr at 2014-10-19 11:18
assiさん
アドバイスを有難うございます。
いま、課題になっているのは、
(1)LibreOffice VBAから出力して作るファイルは、都度改行されてしまうので、入力条件ファイルをまとめられていない。
(2)できたら、LibreOffice VBAから条件ファイルの情報を渡したい。
ということなのです。素人にはなかなか難しいところで...
オフ会でもどうも有難うございました。
Commented by assi at 2014-10-26 10:06 x
遅くなりましたが、
CUIプログラムはパス付きの条件ファイル名をコマンドライン引数で受け取るようにして、マクロでshell("パス付き実行ソフト名",1,"パス付きファイル名", True)とすればファイル名を渡せます。
CUIソフトからの結果を受け取ることはできないみたいなので、ファイルに保存して受け渡すしかないと思います。
テキストファイルを作るには表計算の段階で数値をテキストに変換(TEXT関数)、スペースを挟んで結合(CONCATENATE関数)してテキストデータを作っておいてからそのセルの内容をマクロで出力するようにすれば良いと思います。
マクロの勉強を始めたばかりなので違っていたらすいません。
Commented by 管理人 at 2014-10-26 23:45 x
assiさん

アドバイスを有り難うございます。
私は、プログラミングは素人で、なかなか新しい概念が分かりません。
サンプルプログラムを探しながら試行錯誤の日々です。
いま、改造を少し置いておいて、フランスの友人と共同で別な構造の多自由度バスレフの解析用に、プログラムをいじっています。
これも発表できる日が来ることを期待しながらやってます。

生演奏を主とすれば、オーディオは箱庭で充分でしょう。
by MCAP-CR
プロフィールを見る
画像一覧
更新通知を受け取る

最新の記事

音声回線は消えていく(予想)
at 2022-07-01 07:13
オーディオ崩壊
at 2022-06-30 07:21
スマホでPDFを見るって...
at 2022-06-29 06:21
趣味の違いは小異大異
at 2022-06-28 06:37
雑談
at 2022-06-27 06:15
何度も聴いて新しい発見
at 2022-06-25 16:34
自分の装置基準
at 2022-06-23 12:22
背中を見せる
at 2022-06-21 06:33
音源メディア
at 2022-06-21 06:30
ドミンゴは流石
at 2022-06-20 06:23
"サウンド変換"ソフトのバグか?
at 2022-06-19 10:43
パソコンのメンテナンス
at 2022-06-16 12:36
久しぶりにCDリッピング
at 2022-06-15 06:19
脳内補正
at 2022-06-14 06:23
まとめて聴くものではない
at 2022-06-13 06:21
パソコンの環境整備
at 2022-06-12 08:47
淡い期待が尽きる
at 2022-06-10 06:27
iPhone 壊れる
at 2022-06-08 06:40
オーディオ趣味の二極化
at 2022-06-08 06:39
小型コンピュータの修理(2)
at 2022-06-07 06:20

以前の記事

2022年 07月
2022年 06月
2022年 05月
2022年 04月
2022年 03月
2022年 02月
2022年 01月
2021年 12月
2021年 11月
2021年 10月
2021年 09月
2021年 08月
2021年 07月
2021年 06月
2021年 05月
2021年 04月
2021年 03月
2021年 02月
2021年 01月
2020年 12月
2020年 11月
2020年 10月
2020年 09月
2020年 08月
2020年 07月
2020年 06月
2020年 05月
2020年 04月
2020年 03月
2020年 02月
2020年 01月
2019年 12月
2019年 11月
2019年 10月
2019年 09月
2019年 08月
2019年 07月
2019年 06月
2019年 05月
2019年 04月
2019年 03月
2019年 02月
2019年 01月
2018年 12月
2018年 11月
2018年 10月
2018年 09月
2018年 08月
2018年 07月
2018年 06月
2018年 05月
2018年 04月
2018年 03月
2018年 02月
2018年 01月
2017年 12月
2017年 11月
2017年 10月
2017年 09月
2017年 08月
2017年 07月
2017年 06月
2017年 05月
2017年 04月
2017年 03月
2017年 02月
2017年 01月
2016年 12月
2016年 11月
2016年 10月
2016年 09月
2016年 08月
2016年 07月
2016年 05月
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 04月
2015年 03月
2015年 02月
2015年 01月
2014年 12月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 07月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 06月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2012年 01月
2011年 12月

最新のコメント

> muukuさん 英..
by mcap-cr at 10:23
通信(離れた場所からの連..
by muuku at 10:09
> tincanさん ..
by mcap-cr at 16:09
暑いこの頃、お仕事お疲れ..
by tincan at 11:25
> muukuさん 確..
by mcap-cr at 12:23
状況も解らず、知識も経験..
by muuku at 08:37
> muukuさん ピ..
by mcap-cr at 16:09
ピアノロールはオンオフで..
by muuku at 13:54
> muukuさん 以..
by mcap-cr at 10:53
車田さんの電子ピアノの話..
by muuku at 09:56

最新のトラックバック

島谷技研
from 島谷技研
musica
from musica
明日9/24(月祝)はス..
from 集まれ塩ビ管スピーカー主宰 ..
美しい美宮殿装飾と世界屈..
from dezire_photo &..
年末自作スピーカー系イベント
from 集まれ塩ビ管スピーカー主宰 ..
究極の愛を描いたワーグナ..
from dezire_photo &..
光と色彩を愛し生きる喜び..
from dezire_photo &..
新国立劇場バレエ団のソリ..
from dezire_photo &..
ダンテの『神曲』 ”地獄..
from dezire_photo &..
日本初公開のルノワール絵..
from dezire_photo &..

検索

ファン

ブログジャンル

画像一覧

イラスト:まるめな