ExcelのShapeオブジェクトのサイズを一括変更するVBS
ハードコピーのサイズを揃えたいときに便利かも
'-------------------------------------------------------------------------------------- ' ' Shapes サイズ一括変更 ' (指定したExcelファイルのShapeオブジェクトのサイズを一括変更する) ' ' 注意点 スクリプト実行前にすべてのExcelアプリケーションを終了してください。 ' スクリプト実行中はマウス、キーボードを使用しないでください。 ' このスクリプトが異常終了した場合はExcelのプロセスを手動で終了してください。 '-------------------------------------------------------------------------------------- if WScript.Arguments.Count <> 0 Then '対象のファイルを引数で受け取り(ドラッグ&ドロップでOK) targetPath = WScript.Arguments.Item(0) else targetPath = InputBox("サイズ変更のExcelをフルパスで入力","ファイルの指定","") end if if targetPath = "" then msgbox "処理を中止しました。" else Set Excel = CreateObject("Excel.Application") Set wkBook = Excel.WorkBooks.Open(targetPath) 'シートの数ループする For i = 1 to wkBook.WorkSheets.Count Set xlsSheet = wkBook.WorkSheets(i) 'Shapesオブジェクトのループ For j = 1 to wkBook.WorkSheets(i).Shapes.Count Set wkShape = xlsSheet.Shapes(j) '★変更後のサイズを指定してください wkShape.Height = 296.25 wkShape.Width = 387.75 Next Next 'Excelを終了する。 wkBook.Close Excel.Quit msgbox "サイズ変更を完了しました。" end if
動作確認環境:Windows Xp ,Excel 2003