![]()
Range オブジェクトの作成に数値を使用します
プログラミングで処理を行うので、Range("A1:A20") というような表現を使わずに、Cells(行,列) を使って Range オブジェクトを作成しています。
01.
// ****************************
02.
// 初期処理
03.
// ****************************
04.
WScript.Echo(
"処理を開始します"
);
05.
var
WshShell =
new
ActiveXObject(
"WScript.Shell"
);
06.
var
ExcelApp =
new
ActiveXObject(
"Excel.Application"
);
07.
08.
// デバッグ時は、Excel の本体を表示させて状況が解るようにする
09.
ExcelApp.Visible =
true
;
10.
// UI でチェックさせるようなダイアログを表示せずに実行する
11.
ExcelApp.DisplayAlerts =
false
;
12.
13.
try
{
14.
15.
// ****************************
16.
// ブック追加
17.
// ****************************
18.
var
Book = ExcelApp.Workbooks.Add();
19.
20.
// 通常一つのシートが作成されています
21.
var
Sheet = Book.Worksheets( 1 );
22.
23.
// ****************************
24.
// シート名変更
25.
// ****************************
26.
Sheet.Name =
"JScriptの処理"
;
27.
28.
// ****************************
29.
// セルに値を直接セット
30.
// ****************************
31.
for
(
var
i = 1; i <= 10; i++ )
32.
{
33.
Sheet.Cells(i, 1) =
"処理 : "
+ i;
34.
}
35.
36.
// ****************************
37.
// 1つのセルから
38.
// AutoFill で値をセット
39.
// ****************************
40.
Sheet.Cells(1, 2) =
"子"
;
41.
// 基となるセル範囲
42.
var
SourceRange = Sheet.Range(Sheet.Cells(1, 2), Sheet.Cells(1,2));
43.
// オートフィルの範囲(基となるセル範囲を含む )
44.
var
FillRange = Sheet.Range(Sheet.Cells(1, 2), Sheet.Cells(10,2));
45.
SourceRange.AutoFill(FillRange);
46.
47.
// ****************************
48.
// 保存
49.
// ****************************
50.
Book.SaveAs( WshShell.CurrentDirectory +
"\\sample.xlsx"
);
51.
52.
}
catch
(error) {
53.
ExcelApp.Quit();
54.
ExcelApp =
null
;
55.
WshShell.Popup(error.description);
56.
WScript.Quit();
57.
}
58.
59.
ExcelApp.Quit();
60.
ExcelApp =
null
;
61.
62.
// ****************************
63.
// ファイルの最後
64.
// ****************************
65.
WshShell.Popup(
"処理を終了します"
);
関連する記事
JScript : Visual Studio Code で、WSH を使用する準備JScript でエラーが発生した行を知る方法
実行プログラムが cscript.exe や wscript.exe の場合、try ~ catch 内のエラー発生の行番号を知る事ができないので、以下の手順で処理します。1) 拡張子を hta に変更する 2) WScript を使った実行をコメントにする 3) ソースの先頭に <script> ソースの最後に </script> を記述する 4) さらにソースの先頭に <meta http-equiv="x-ua-compatible" content="ie=edge"> を記述する 5) catch の中で、error.stack を表示する 6) エクスプローラからこのソースをダブルクリックする ( HTML アプリケーションホストで実行させる )![]()
![]()
.hta 用コード
01.
<meta http-equiv=
"x-ua-compatible"
content=
"ie=edge"
>
02.
<script>
03.
// ****************************
04.
// 初期処理
05.
// ****************************
06.
//WScript.Echo( "処理を開始します" );
07.
var
WshShell =
new
ActiveXObject(
"WScript.Shell"
);
08.
var
ExcelApp =
new
ActiveXObject(
"Excel.Application"
);
09.
10.
// デバッグ時は、Excel の本体を表示させて状況が解るようにする
11.
ExcelApp.Visible =
true
;
12.
// UI でチェックさせるようなダイアログを表示せずに実行する
13.
ExcelApp.DisplayAlerts =
false
;
14.
15.
try
{
16.
17.
// ****************************
18.
// ブック追加
19.
// ****************************
20.
var
Book = ExcelApp.Workbooks.Add();
21.
22.
// 通常一つのシートが作成されています
23.
var
Sheet = Book.Worksheets( 1 );
24.
25.
// ****************************
26.
// シート名変更
27.
// ****************************
28.
Sheet.Name =
"JScriptの処理"
;
29.
30.
// ****************************
31.
// セルに値を直接セット
32.
// ****************************
33.
for
(
var
i = 1; i <= 10; i++ )
34.
{
35.
Sheet.Cells(i, 1) =
"処理 : "
+ i;
36.
}
37.
38.
// ****************************
39.
// 1つのセルから
40.
// AutoFill で値をセット
41.
// ****************************
42.
Sheet.Cells(1, 2) =
"子"
;
43.
// 基となるセル範囲
44.
var
SourceRange = Sheet.Range(Sheet.Cells(1, 2), Sheet.Cells(1,2));
45.
// オートフィルの範囲(基となるセル範囲を含む )
46.
var
FillRange = Sheet.Range(Sheet.Cells(1, 2), Sheet.Cells(10,2));
47.
SourceRange.utoFill(FillRange);
48.
49.
// ****************************
50.
// 保存
51.
// ****************************
52.
Book.SaveAs( WshShell.CurrentDirectory +
"\\sample.xlsx"
);
53.
54.
55.
}
catch
(error) {
56.
ExcelApp.Quit();
57.
ExcelApp =
null
;
58.
WshShell.Popup(error.description + error.stack);
59.
WScript.Quit();
60.
}
61.
62.
ExcelApp.Quit();
63.
ExcelApp =
null
;
64.
65.
// ****************************
66.
// ファイルの最後
67.
// ****************************
68.
WshShell.Popup(
"処理を終了します"
);
69.
</script>
関連する Microsoft ドキュメント
Application オブジェクト Workbook オブジェクトのコレクション Workbook オブジェクト Worksheet オブジェクトのコレクション Worksheet オブジェクト Cells プロパティ