やりにくくて困ってませんか?
簡単に作る方法というか、簡単なスクリプトを作ったので紹介です
まず下のような感じでエクセルで、列 1-12 でレイアウトを作成します。
12列を基準に
セルの結合を行います
(縦結合は対応してません)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
{#indate} | {#名前} | {#1} | |||||||||
{#2} | {#3} | ||||||||||
{#4} | {#5} | {#6} | |||||||||
{#7} | {#8} | {#9} | |||||||||
{#10} | {#11} | {#12} | {#13} | {#14} | {#15} | ||||||
{#16} | {#17} | {#18} | {#19} | {#20} | {#21} | {#22} | {#23} | {#24} | {#25} | {#26} | {#27} |
次にエクセルのVBAでボタンイベントに以下を作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
Private Sub CommandButton1_Click() classbase = "col-md-" r = 3 hdoc = "" rowstr = "row" 'rowstr="row-fluid" constr = "container" 'constr="container-fluid" hdoc = hdoc & vbCrLf & "<div class=""" & constr & """>" divno = 1 Do While Cells(r, 1) <> "" hdoc = hdoc & vbCrLf & "<div class=""" & rowstr & """>" c = 2 Do While c <= 13 If Cells(r, c) <> "" Then contentstr = "{#" & Cells(r, c) & "}" Else contentstr = "{#" & divno & "}" divno = divno + 1 End If ccnt = Cells(r, c).MergeArea.Columns.Count hdoc = hdoc & vbCrLf & " <div class=""" & classbase & ccnt & """>" & contentstr & "</div>" c = c + ccnt Loop hdoc = hdoc & vbCrLf & "</div><!-- row -->" r = r + 1 Loop hdoc = hdoc & vbCrLf & "</div><!-- container -->" Dim CB As New DataObject With CB .SetText hdoc .PutInClipboard End With End Sub |
クリップボードに以下の内容がコピーされます。
あと上のテーブルで入力したセルの項目を置き換えます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<div class="container"> <div class="row"> <div class="col-md-4">{#indate}</div> <div class="col-md-4">{#名前}</div> <div class="col-md-4">{#1}</div> </div><!-- row --> <div class="row"> <div class="col-md-6">{#2}</div> <div class="col-md-6">{#3}</div> </div><!-- row --> <div class="row"> <div class="col-md-4">{#4}</div> <div class="col-md-4">{#5}</div> <div class="col-md-4">{#6}</div> </div><!-- row --> <div class="row"> <div class="col-md-4">{#7}</div> <div class="col-md-4">{#8}</div> <div class="col-md-4">{#9}</div> </div><!-- row --> <div class="row"> <div class="col-md-1">{#10}</div> <div class="col-md-1">{#11}</div> <div class="col-md-1">{#12}</div> <div class="col-md-3">{#13}</div> <div class="col-md-3">{#14}</div> <div class="col-md-3">{#15}</div> </div><!-- row --> <div class="row"> <div class="col-md-1">{#16}</div> <div class="col-md-1">{#17}</div> <div class="col-md-1">{#18}</div> <div class="col-md-1">{#19}</div> <div class="col-md-1">{#20}</div> <div class="col-md-1">{#21}</div> <div class="col-md-1">{#22}</div> <div class="col-md-1">{#23}</div> <div class="col-md-1">{#24}</div> <div class="col-md-1">{#25}</div> <div class="col-md-1">{#26}</div> <div class="col-md-1">{#27}</div> </div><!-- row --> </div><!-- container --> |
bootstrapのグリッドシステムはいいんだけどそのレイアウト作成はみんなどうしてるのか
この、めんどくさいレイアウトをエディターで作ってるのか、なにかツールがあるのかな?
知ってたら教えてください。
エクセルのセルに直接文章書けば置換の必要はないけど、そういう使い方があるかは不明。