# word05.rb.txt: ruby script (encoding: Windows-31J) # markdown記法の文書 data05.md.txt をワード文書 z_word05.docx に変換。 # また、実際にワードを起動して、用紙の横幅や縦の長さなどを調整する。 # 文書中の「都道府県の人口等」を中央揃えにするといった調整も行う。 # それら調整の情報は data05.inf.txt から読み込む。 # 表の罫線を細い実線に変更する require "wrdap" # pandocにより、markdown→Word変換 src_file = "data05.md.txt" filename = "z_word05.docx" mkd_str = File.read(src_file) docx_str = Wrd::pandoc_docx(mkd_str) File.open(filename, "wb") {|ff| ff.write docx_str} # ワード文書の調整 info_file = "data05.inf.txt" adjust_msg = info_msg = get_msg = nil table_count = 0 table_align = [] wrd = Wrdap.new wrd.opens(filename) do |doc| info_msg, adjust_msg, get_msg = doc.set_info(info_file) table_count = doc.table_border() # 表の罫線を細い実線に変更 table_align += doc.table_row("distribute", 1) # 第1表の1行目を均等割付 if info_msg or adjust_msg or table_count > 0 or table_align.size > 0 doc.save end end if info_msg.to_s != '' puts "* 設定した項目" print info_msg printf("\n") end if get_msg.to_s != '' puts "* 文書情報" print get_msg printf("\n") end if table_count > 0 printf("* 表の罫線: %d個の表の罫線を細い実線にしました.\n\n", table_count) end if adjust_msg.to_s != '' print adjust_msg printf("\n") end if table_align.size > 0 printf("* 表の第1行目の均等割付: 次の行を均等割付にしました\n%s\n", Wrd::ary2str(table_align)) end