お勧め書籍
記事のリクエスト−投票受付中
アクセスカウンタ
928265

0141 :昨日
0028 :今日
トップ  >  OpenOffice.org 3.0 の新機能  >  マクロの互換性が一歩前進
まだ‘テスト段階’といったレベルですが、Excelのマクロをそのまま実行できるようになっています。この機能を試してみましょう。

Excelで画面01のようなマクロを作成してみました。選択範囲のセルを結合し、また結合したセルを解除するマクロです。

画面01
(クリックで拡大)



このマクロを含むExcelファイルをそのままCalcで開くと、IDE(OpenOffice.orgの統合開発環境)のBasicエディタには、Rem文に変換したコードが表示されます。


画面02
※Linux版のOpenOffice.orgです
(Ubuntu8.04)



Calcの中でExcelのマクロを動かすには、コメント文に変換されているコードを一つ一つ手作業で移植していく必要がありました。たとえばこのマクロの場合なら、Excelに独特のRangeオブジェクトを扱っていますので、このままRemキーワードを削除しても実行することはできません(実行時エラーとなります)。

では、新搭載の「VBAサポート」機能を使ってみましょう。
「ツール」−「オプション」コマンドの「読み込みと保存」−「VBA属性」ダイアログで「Microsoft Excel 97/2000/XP」グループにある「実行可能コード」チェックボックスをオンにします(初期設定はオフです)。

画面03



この状態でマクロを含むExcelファイルを開いてみましょう。Basicエディタ画面を見ると、「Option VBASupport 1」というステートメントがセットされ、VBAのコードがそのまま表示されています。

画面04
(クリックで拡大)



ここで挙げたサンプルコードを実際に試してみたところ、そのまま実行できました。ここでは選択範囲のセルの結合と解除を、RangeオブジェクトのMergeメッソドを使う方法と、MergeCellsプロパティを切り替える方法の、2つのやり方で切り替えています(片方はコメントアウトしてあります)。そのどちらも、問題なく実行できました。

(松井のコメント)
もちろん、これで「マクロの互換性が達成された」というのは早計でしょう。しかし、「セルをクリア」とか「セル範囲をコピー」「形式を選択して貼り付け」(Pastspecialメソッド)、「ワークシートの追加」「ワークシートの削除」というような基本的な処理をためしてみたところ、ほとんどのものがOKでした。基本的なマクロなら、かなりの範囲のものが機能するようです。



−−−−−
下のボタンをクリックしてもらえると、筆者の励みになります。よろしくお願いします。

プリンタ用画面
投票数:1471 平均点:7.40
前
SUMIF関数の互換性が高まった
カテゴリートップ
OpenOffice.org 3.0 の新機能
次
ソルバー機能を比較する(その1)
(c) 2003-2008 Mikihiko Matsui All Rights Reserved.
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Theme Desinged by OCEAN-NET