ID非公開

2021/9/16 14:56

44回答

ExcelのVBAからC言語で書かれたプログラムを呼び出すことは可能でしょうか。 可能であるらしいことはわかるのですが,検索しても概念的なことしか書かれておらず,具体的方法がわかりません。

補足

なんたって,C言語でプログラムを書くことを,3日くらい前に始めたばかりで,全く感覚がつかめていないもので。 せっかく書き始めたので,今までにVBAで作って時間がかかりすぎたものをCでやったら出来るかもと思っております。 今までの作品では,最長3日くらい回しっぱなしにして,やっと答えが出た。なんてのもありました。 今回,何個かの今までの作品をCに置き換えてやってみると,100分の1から25分の1くらいの時間で出来ちゃいます。72時間かけてたものが45分で終われば凄いことです。 今回やろうとしている課題は「イラストロジックの問題を解く」です。 再帰呼び出しを使って,組み合わせを生成するのが計算のメインになっているのですが,これが時間がかかる。 その部分を置き換えたいのです。 イラストロジックなのでExcelだと「条件付き書式」で簡単に結果を表示することが出来て便利なのです。

Visual Basic | C言語関連314閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

1

1人がナイス!しています

ID非公開

質問者2021/9/16 15:58

Cの方で,CSVを受け取って自動的に起動するのはどのようにすればいいのでしょう。 質問に書いた操作を,途中100万回くらい繰り返します。

ThanksImg質問者からのお礼コメント

まずはこの方法から試すことにします。

お礼日時:9/18 14:21

その他の回答(3件)

0

>Cの方で,CSVを受け取って自動的に起動するのはどのようにすればいいのでしょう。 argc,argvで検索するとコマンドライン文字列の取得があると思います。 cで書かれたプログラム起動の時に続けてファイル名を付加すればそれを取り込んでファイル処理が出来る筈。 30年前の記憶ですけど。

ID非公開

質問者2021/9/16 18:48

検索しましたが,「コマンドラインからCを起動する場合に,引数を与える方法」と読めましたが理解が違うのでしょうか? VBAを使ってコマンドラインからCを立ち上げるのはどのようにすればいいのでしょうか。 ちなみに,与える引数は質問のサンプルでは1つですが,実際には5~10個程度で,毎回個数は違います。 この方法はあまり向かない気がします。

0

CでDLLを作ってVBAでDLLを呼び出すのがいいかな

ID非公開

質問者2021/9/16 16:33

>CでDLLを作って その具体的方法は?