memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Excel 2007 テキストボックスがマクロで記録されない

以前、Excelのマクロでガントチャートを自動作成するプログラムを作ったのですが、そのプログラムをExcel2007で動かすと右図のようにラベルに枠が表示されてしまいます。APIが変わったと思い、マクロ記録を開始してテキストボックスを作成したものの、VBAコードが記録されません。。。困りました。MSのページに仕様変更の旨が書かれていました。おいおい。。。変えるなよ。。。です。しかたがないのでヘルプで探しながら線と図形を透過色にする方法を調査しました。2行追加して修正できました。参考までコードを下記に示します。座標は適当です。

Sub a()
Set sh = Sheets("Sheet1")
Dim tmp As Shape
Set tmp = sh.Shapes.AddLabel(1, 200, 60, 200, 50)
With tmp
.name = "tekitou"
.TextFrame.Characters.Text = "Hello"
.TextFrame.Characters.Font.size = 8
.Line.Transparency = 1 'for Excel 2007
.Fill.Transparency = 1 'for Excel 2007
End With
End Sub

ついでに宣伝。来週、11月13〜16日にシステムコントロールフェア2007というイベントが東京ビッグサイトであります。委託元企業様(ニッテツ北海道制御システム(株))のブースで受託研究成果である分解型物流シミュレータ「流」をデモ展示します。お近くの方はぜひご来場ください。私も14日に講義終了と同時?に移動して15,16日と展示会会場でデモ要員に加わります。