• ベストアンサー
  • すぐに回答を!

vbsでExcelのシートをコピーするには

  • 質問No.8853340
  • 閲覧数5724
  • ありがとう数1
  • 回答数1

お礼率 94% (65/69)

vbsでExcelのシートをコピーすることができず、困っています。

雛形のAファイル(Excel)のシートを別のBファイル(Excel)にコピーしたいのですが、
下記コーディングでは、「実行時エラー この変数は宣言されていません。: 'before'」となります。

xlsSheet.Copy before:=xlsBook2.Worksheets("Sheet1")

Excelのマクロに記載して、Excelのコマンドボタンから呼び出すなどすれば動くのですが、
ハンディ端末のサーバ側アプリがvbsで、vbsから行いたいのです。

vbsでExcelファイルのシートをコピーすることはできないのでしょうか。

ご存知の方、ご教授いただければ幸いです。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 43% (7609/17468)

>xlsSheet.Copy before:=xlsBook2.Worksheets("Sheet1")

VBScriptでは、名前付き引数の指定はできないので、代わりに不要な引数を省略します。

コピーメソッドの仕様は

Copy(Before, After)

ですから

xlsheet.Copy(xlsBook2.Worksheets("Sheet1"))

とやれば、Beforeのみ指定した事になります。

xlsheet.Copy(,xlsBook2.Worksheets("Sheet2"))

とやれば、Afterのみ指定した事になります(カンマがある事に注目)

xlsheet.Copy(xlsBook2.Worksheets("Sheet1"),xlsBook2.Worksheets("Sheet2"))

とやれば、BeforeとAfterの両方を指定した事になります。

xlsheet.Copy()

とやれば、BeforeとAfterの両方を省略した事になります。

このようにVBSでは

Before:=~~~

After:=~~~

のような名前付き引数は指定できません。
お礼コメント
mountain11

お礼率 94% (65/69)

迅速に回答いただき、とても助かりました。
本当にありがとうございました。
投稿日時:2014/12/10 10:47
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ