もんたマインドポイント(2)
やっぱり[]が残っていると格好悪いので、シェイプで黒塗りすることにした。
mmpoint.rb
以下、変更分。動作確認はPowerPoint 2000のみ。残念ながら2007βで動かなくなってしまった。
MsoShapeRectangle = 1 class PowerPoint < Excel_Wrapper def mask(sl, tr, pos, len) t = tr.characters(pos, len) sh = sl.shapes.addshape(MsoShapeRectangle, t.boundLeft, t.boundTop, t.boundWidth, t.boundHeight) sh.fill.foreColor.schemeColor = PowerPoint::PpForeground end def monta_mask(sl, tr, masks, shown) cur = 0 1.upto(masks) do |i| p1 = tr.find('[', cur).start tr.characters(p1, 1).delete p2 = tr.find(']', p1).start tr.characters(p2, 1).delete mask(sl, tr, p1, p2 - p1) if shown < i cur = p2 end end def monta_method(pre, text) masks = text.scan(/\[[^\]]*\]/).size 0.upto(masks) do |shown| sl, tb, tf, tr = takahashi_method(pre, text) monta_mask(sl, tr, masks, shown) end end end