Excel VBAからC言語へ 現在、VBAで動いているプログラムがありますが、計算量が多く、非常に時間がかかっています。 そこで高速化のために、C言語化を考えています。

Excel | C言語関連265閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

1

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

回答頂き、ありがとうございます。 はい、技術計算をしています。 非線形の反復の中に、大規模連立一次方程式の数値解法が含まれており、多大な時間がかかります。 確かにおっしゃるように、反復アルゴリズムに工夫が必要で、ここで計算時間は決まるといっても過言ではないでしょう。 それも全て手を尽くした結果です。 さらにお教え下さい。 ①無料のVisualStudioとは、Communityのことですか? ②DLLを使ってCを呼び出す、ということをすれば、EXCELのデータが直接読んだり書けたりしますか? それとも、何らかのテキストファイル経由ですか? 基本的にExcelから抜け出すことなく、処理がしたいです。 Excelのコマンドボタン一つ押せば、すべてのことがバックグランドで処理され、自動的にグラフが出る、という状況にしたいです。 宜しくお願い致します。

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

いろいろ相談に乗っていただき、誠にありがとうございました。 参考になることが多く、今後の方針が決まりました。

お礼日時:2021/11/30 8:48

その他の回答(2件)

0

1.pythonはexcelとのインタフェースを持っているライブラリーがあるので、pythonで書く。 まあ、スピードはVBAと大してかわらないので、肝心なところはCで書く。 pyhtonからCを呼ぶのは比較的簡単。 2.excelからcsvに出力して、そのcsvをcで処理し結果をcsvで出力し、csvを読み込むVBAを書く。 いずれにしても、とりあえずcでcsvを読んでcsvを書き出す処理を書いてみるのが先のような気がする。

0

>Excelのシートと連携がとれるかどうか、お教え下さい。 >Cのプログラムから、シートのデータを読み込み、 >計算後は、またシートにデータを書き出すようなことがしたいです。 出来ない事は無いが超絶的に難しい スタートボタンからメモ帳を開いて そのエクセルファイルをメモ帳にドラッグする するとファイルの中身が見れるが(普通に見たらグチャグチャな文字だが) このグチャグチャな文字は1つ1つ意味がある 今のエクセルはどうなっているのか知らんが 最初の2文字は”ミマ”になっていると思う このシグネチャ情報は”これはエクセルのファイルですよ”という記号 そうやって1つ1つ意味がある これを全部解読してC言語からアクセスすれば直接書き換えが出来る それがあなたに出来るのか?というのが1つの問題点 まあ大抵はCSVファイルで書き出してC言語で処理して 編集後のCSVファイルを読み込んで使うことが多い まあそれより、C言語よりかアセンブラのほうが圧倒的に早いけどね C言語の10億倍ぐらいの速度は平気で出るよ