コードをテキストファイルにコピペして、拡張子を「.vbs」に変更してダブルクリックすると動きます。
コード
Option Explicit Call Main() '** Subroutine ********************************************' Sub Main() 'エクセルの起動' Dim Excel_app Set Excel_app = CreateExcel() If Excel_app Is Nothing Then Msgbox "Excelの起動に失敗しました。" Exit Sub End If '定数をセット' Const xlWBATWorksheet = -4167 Const xlEdgeBottom = 9 Const xlContinuous = 1 Const xlThin = 2 'エクセルでの処理' With Excel_app Dim wb, ws Set wb = .Application.WorkBooks.Add(xlWBATWorksheet) Set ws = wb.Worksheets(1) With ws .Name = "カフェウォール錯視" .Cells.ColumnWidth = 0.58 .Range("A1:D1").Interior.Color = vbBlack .Range("E1:H1").Interior.Color = vbWhite Dim r Set r = .Range("A1:H1") '罫線の設定' With r.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .Color = RGB(128,128,128) End With Dim i '8セルを1セットにして1列作成' Do While i < 24 r.Copy r.Offset(0,8) Set r = r.Offset(0,8) i = i + 1 Loop '1列目をずらしながら行方向にコピー' Set r = .Range(.Cells(1,1), .Cells(1,i*8)) Dim j For i = 1 to 24 If (i Mod 4)=0 Then j = 0 Else j = 2 - (i Mod 2) End If r.Copy r.Offset(i,j) Next End With End With Msgbox "処理完了" End Sub '** Function **********************************************' '============================' Function CreateExcel() '============================' Set CreateExcel = Nothing Dim objXL, i Set objXL = CreateObject("Excel.Application") i = 0 Do While objXL Is Nothing i = i + 1 If i > 5 Then Exit Function Else WScript.Sleep(600) End If Loop objXL.Visible = True Set CreateExcel = objXL End Function
0 件のコメント:
コメントを投稿