Linux debianでcronなどを使い定期的にエクセル(.xls)内のVBAを実行したいのですが、どのような方法がありますか。


よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/10/16 12:37:12
  • 終了:2008/10/19 14:59:06

回答(5件)

id:takerudayo No.1

takerudayo回答回数165ベストアンサー獲得回数292008/10/16 13:25:18

ポイント25pt

前提条件として、私の知る限りLinux上でVBAが動作するアプリはありませんので・・・(OpenOfficeはVBA未対応)


Linuxのcronでタイミング起動し、

Windowsマシン上のExcelでVBAを稼動したい

と仮定して手法を書きます。


Linux上で別マシンの処理を動かす方法としてはrshがあります。

このrshサービスをWindows上で動かせば実現は可能です。


詳細なやり方が以下URLにあります。

Windowsに対してrshを行う手順

Windowsサーバに対してrshコマンドを実行したい場合、Windowsサーバに何かソフトウェアをインストールしなくてはいけないのでしょうか? ソフトウェアのインストールが必要.. - 人力検索はてな

id:future_100sec

ご回答ありがとうございます。

では数式入力済みのExcelシートがあります。

これに数値を代入させて計算結果を取り出すといったことは実現可能でしょうか。

よろしくお願いします。

2008/10/16 14:31:08
id:ytakan No.2

ytakan回答回数831ベストアンサー獲得回数642008/10/16 14:05:43

ポイント25pt

OOoを使ってみては。

http://journal.mycom.co.jp/special/2008/ooo3/005.html

OOo 3.0からは、Excel VBAによるマクロを直接実行できるモードが追加される。

OOo 3.0のCalcでExcel VBAを実行するためには、まずOOoのオプションを変更しておく必要がある。オプション画面で[読み込みと保存]-[VBA属性]を選び、「Microsoft Excel 97/2000」欄の「実行可能コード」にチェックを入れる。

http://sourceforge.jp/magazine/06/11/22/0059225

まだライブラリーは完全ではないので、ExcelのVBAマクロがすべて実行できるわけではない。

id:takerudayo No.3

takerudayo回答回数165ベストアンサー獲得回数292008/10/16 17:02:10

ポイント25pt

では数式入力済みのExcelシートがあります。

これに数値を代入させて計算結果を取り出すといったことは実現可能でしょうか。


Excelには引数や戻値というものがありません。(VBA内部にはありますがWorkbook_Openに対して無い)

よって情報の受け渡しをする方法を考えなければなりません。例えば以下のような案が考えられます。

案1.テキストファイル内にデータを書き、Win端末にファイル転送し、

   VBA内でファイルオープンしてデータを受け取り、

   結果をファイル出力して、Linux端末にファイル転送で戻す。

案2.どこかにDBサーバを起動し、DBサーバ経由でデータを受け渡す。

   LinuxからDBへ読み書きするアプリを作る必要がある。

   VBAからはODBCでアクセス可能。


先の回答でLinux上で動かないと書きましたが、

Excel上の計算式が簡単であればytakanさんが書かれている方法でできそうですね。

しかしこの場合もデータの受け渡しは上記のような案でしかできないと思います。

id:Orihika No.4

おりひか いくお回答回数26ベストアンサー獲得回数22008/10/18 04:37:28

ポイント25pt

Wineを使用されてはいかがでしょうか。

Wine: Windows (Win32) APをLinux上でネイティブ動作可能なオープンソースソフトウェア

http://www.atmarkit.co.jp/news/200806/18/wine.html

http://gihyo.jp/admin/column/01/emulator/2008/wine01

http://www.winehq.org/

id:hetena2 No.5

hetena2回答回数97ベストアンサー獲得回数12008/10/18 21:36:38

ポイント5pt

winだったら、winのソフトをつかえ

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません