こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

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

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

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

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

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

投稿日時 - 2014-12-10 09:54:43

QNo.8853340

すぐに回答ほしいです

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

>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:=~~~

のような名前付き引数は指定できません。

投稿日時 - 2014-12-10 10:17:41

お礼

迅速に回答いただき、とても助かりました。
本当にありがとうございました。

投稿日時 - 2014-12-10 10:47:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問