今回はSheet表示倍率を85%指定
⇒ファイル名を変更して保存するVBAマクロを示す。
■条件
「祝日」という名前のSheetがあるエクセルファイル(xlsx)を
ひらいている状態で実行する。
■Sheet表示倍率指定⇒ファイル名変更保存するVBAマクロ
Option VBASupport 1 Sub sample04() 'ω'アクティブシート倍率85%、ファイルバックアップ保存 Worksheets("祝日").Activate ActiveWindow.Zoom = 85 ActiveWorkbook.SaveAs "D:\kiretak_bu.xlsx", FileFormat:=xlOpenXMLWorkbook ActiveWorkbook.SaveAs "D:\kiretak.xlsx", FileFormat:=xlOpenXMLWorkbook End Sub
■マクロ実行結果
マクロ実行前、「祝日」シートの表示倍率100%マクロ実行後、「祝日」シートの表示倍率85%に変更となる。
表示できる行、列数が増える。
表示倍率はLibreOfficeの「表示」⇒「ズーム」⇒「ズーム」で任意の値に変更可能。
また、Dドライブに
「kiretak_bu.xlsx」
「kiretak.xlsx」
の2ファイル(内容は同じ)が保存される。
■(補足)生産管理視点の解説
Sheet名「祝日」は自社の休日を考慮して適切なサプライヤ納期を算出するのに使用。
シート倍率85%変更は
単純にマクロ処理終了後のSheetを見やすくするため。
Dドライブに保存した内容同じ2ファイル
「kiretak_bu.xlsx」「kiretak.xlsx」は
誤ってデータ削除した場合にそなえたバックアップと
実使用ファイルとなる。
データ量が多く(130Mb、47万行、67列程度)
誤って削除した場合
再処理に時間がかかる(10分程度)ためバックアップ。
■あとがき
プログラムコードの要素単体(CellsやRangeなど)はググれば解説でてくるので、
本ブログでは私が生産管理で実使用した形の
マクロに特化して紹介する。
【過去記事】
■LibreOfficeでエクセルVBAマクロを実行する方法
※実際にマクロを動かす準備。
■LibreOfficeマクロ-日付が名前に含まれるxlsxファイルをひらく
※xlsxファイルをひらく。
■LibreOffice-VBA-Sheet表示倍率指定⇒ファイル名変更保存
※この記事。xlsxファイルを保存する。
【全体の流れ】
「ファイルをひらく」と「ファイルを保存」が
プログラム処理の【開始】と【終了】になる。
「頭と尻尾」をおさえたので、中身スカスカでもとりあえず動く。
今後は中身のブラックボックスを示していく。
その中から、あるいはググって、
各人の定型作業に合わせて必要な処理を記述すれば、
作業を自動化できる。
以上。