ExcelのVBAで質問致します。

以下4ファイルに対し、以下の記述をしています。
「0.xls」を実行したとき、
Application.Run "'1.xls'!上書き保存して閉じる"
この行までは実行されるのですが、それで終了してしまいます。
最後まで実行されるには、どのように記述を直せばよいでしょうか?
「0.xls」のみの補正だけで対応できればグッドです。
どうぞよろしくお願い致します。



■「0.xls」に、

Sub 実行()

'ファイルがある場所のパスに変更
パス = "C:\Documents and Settings\TM\デスクトップ"

Workbooks.Open パス & "\1.xls"
Application.Run "'1.xls'!上書き保存して閉じる"

Workbooks.Open パス & "\2.xls"
Application.Run "'2.xls'!上書き保存して閉じる"

Workbooks.Open パス & "\3.xls"
Application.Run "'3.xls'!上書き保存して閉じる"

End Sub


■「1.xls」に

Sub 上書き保存して閉じる()

Workbooks("1.xls").Close SaveChanges:=True

End Sub


■「2.xls」に

Sub 上書き保存して閉じる()

Workbooks("2.xls").Close SaveChanges:=True

End Sub


■「3.xls」に

Sub 上書き保存して閉じる()

Workbooks("3.xls").Close SaveChanges:=True

End Sub









http://pub.idisk-just.com/fview/qTXX5emK7xt1jJFhX0tr7xTDNHG0PK0wlI9CJ5y6ZvlxsL4pN07lrBi1dvq9ZggZ?
↑サンプルはこちら

回答の条件
  • 1人2回まで
  • 登録:2009/08/30 19:42:16
  • 終了:2009/08/31 10:09:41

回答(1件)

id:HALSPECIAL No.1

HALSPECIAL回答回数407ベストアンサー獲得回数862009/08/30 20:04:02

ポイント60pt

"'1.xls'!上書き保存して閉じる"

が実行され、呼び出し元の

0.xls

に戻る前に、1.xls が閉じられるためです。


呼び出し元で閉じるようにしましょう。

Workbooks.Open パス & "\1.xls"
Application.Run "'1.xls'!上書き保存して閉じる"
'Application.DisplayAlerts = False '閉じる際に確認ダイアログが表示される場合はこの1行を入れます。
Workbooks("1.xls").Close SaveChanges:=True
id:miku1973

Workbooks("1.xls").Close SaveChanges:=True

この1行を加えてみたのですが、残念ながら状況は改善されませんでした。

ちょっといろいろやってみます。ありがとう。

2009/08/30 20:20:10
  • id:HALSPECIAL
    HALSPECIAL 2009/08/30 20:24:13
    1.xls
    中に記述している
    「閉じる行」をコメントにしてください。
  • id:miku1973
    ありがとう!
    意味を理解しました!
    上手くできそうです。ポイントおくります。

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

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

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

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