システムからExcel出力する。
ヘッダをつけたテンプレートファイルを用意し、出力時にはプログラムで改行コードを含ませながら処理しているが
実際に出力したExcelはガタガタだった。折返しはされないし、幅はその時時によって異なるためテンプレートにも限界がある。
ということでテンプレートファイルに以下を仕込んだ。
コンテンツを有効化した際にすぐにはしるように、ThisWorkBookに下記を記載。
Private Sub Workbook_Open()
range("C1", "XFD1048576").Columns.AutoFit
range("C1", "XFD1048576").Rows.AutoFit
range("C1", "XFD1048576").WrapText = True
range("C1", "XFD1048576").Columns.AutoFit
range("C1", "XFD1048576").Rows.AutoFit
range("A1", "XFD1048576").HorizontalAlignment = xlLeft
range("A1", "XFD1048576").VerticalAlignment = xlTop
End Sub
出力後にExcelを編集したときにも対応できるようにボタンを用意して同じ処理をかいといた。
Sub 調整_Click()
range("C1", "XFD1048576").Columns.AutoFit
range("C1", "XFD1048576").Rows.AutoFit
range("C1", "XFD1048576").WrapText = True
range("C1", "XFD1048576").Columns.AutoFit
range("C1", "XFD1048576").Rows.AutoFit
range("A1", "XFD1048576").HorizontalAlignment = xlLeft
range("A1", "XFD1048576").VerticalAlignment = xlTop
End Sub
1,2行目でたてよこ合わせて、3行目で折り返させる。
4,5行目でもっかいたてよこあわせて、6,7行目で文字列を左上よせに。
以上。