文書番号: 402571
最終更新日: 1997/10/21
この資料は以下の製品について記述したものです。
- Microsoft(R) Excel for Windows(R) Version 5.0 (以下 Excel 5.0)
この記事は、以前は次の ID で公開されていました: JP402571
概要
Excel 5.0 では、Lotus 1-2-3 R2.3 以前のバージョン (以下 1-2-3) で作成した
マクロを含む 1-2-3 のワークシートを Excel 5.0 でオープンし、[Ctrl] キーを
押しながら範囲名のアルファベット キーを押す操作で 1-2-3 のマクロを実行する
ことができます。
このようにして 1-2-3 で作成した「ファイル結合」のマクロを Excel 5.0 上で
実行した時に、「マクロエラー」が発生し正しく実行できないことがあります。
本文書では、その問題と回避策をまとめています。
詳細
現象
1-2-3 の「ファイル結合」のマクロを実行すると、「マクロエラー:アドレス」と
ダイアログ ボックスに表示されます。<OK> ボタンをクリックすると「ファイル
名が見つかりません。」とエラー メッセージが表示されて、マクロが実行できな
い場合があります。
問題が発生する状況
この現象は、「カレント ディレクトリ」と「結合するファイルが保管されているディ
レクトリ」が異なる場合に発生します。
回避策 (1)
例えば、「四半期 1.WJ2 」というファイルに「四半期 2.WJ2 」というファイルを結合
すると想定します。このファイルがいずれも、C ドライブの「 HANBAI 」というディ
レクトリに保管されている場合には、1-2-3 のマクロを以下のように編集します。
WJ2 ファイル編集前
------------------
\a {goto}A10~
/fccce 四半期 2.WJ2~
WJ2 ファイル編集後
------------------
\a {goto}A10~
/wgdd{esc}
C:\HANBAI~q
/fccce 四半期 2.WJ2~
回避策 (2)
カレント ディレクトリを変更するマクロを Excel 5.0 の Microsoft(R) Visual Basic
(R) Programming System Applications Edition (以下 VBA) のモジュールとして
作成しておいて、1-2-3 のマクロから VBA のモジュールをコールする方法です。1
-2-3 のマクロを以下のように編集すると共に、VBA のモジュールを新規に作成します。
WJ2 ファイル編集後
------------------
\a {goto}A10~
XLCALL CHDIR
/fccce 四半期 2.WJ2~
Visual Basic モジュール
-----------------------
Sub CDIR()
ChDrive "c"
ChDir "c:\hanbai"
End Sub
アクティブ ブックに「 Visual Basic モジュール (Visual Basic 言語用のシート) 」
を追加するには、[挿入] - [マクロ] - [モジュール] サブコマンドを実行しま
す。上記の Visual Basic モジュールの記述例は、ワークシートではなく必ず
Visual Basic モジュールに記述してください。
なお、WJ2 形式の 1-2-3 のファイルに Visual Basic モジュールを追加して、呼び
出したいモジュールを記述した場合には、特に名前の定義などをする必要はありま
せん。他のブックに閉じこまれているモジュールを呼び出したい場合には、呼び出
すファイル (WJ2 ファイル) 側で、[挿入] - [名前] - [定義] サブコマンドを実行
し、呼び出すマクロの名前を定義する必要があります。
上記の例では、呼び出すマクロは 「 CHDIR 」です。[名前定義] ダイアログ ボック
スの [名前一覧] テキスト ボックスに「 CHDIR 」、[参照範囲] テキスト ボックス
には、例えばこのマクロが BOOK1.XLS の Visual Basic モジュール「 Module 1 」に
記述されている場合では、「=BOOK1.XLS!Module1.CHDIR 」というように定義します。
Keywords: KBBUG KB402571
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch