新生活を充実させるための「こだわり」を取材!!

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

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

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

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

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

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

教えて!goo グレード

A 回答 (1件)

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

のような名前付き引数は指定できません。
    • good
    • 2
この回答へのお礼

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

お礼日時:2014/12/10 10:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング