【初月無料キャンペーン中】gooドクター

エクセルのマクロで質問があります。
addtextboxでテキストボックスを作成すると枠線が付いてきます。
書式>線の色>線なしで消すことはできますがこれをコードにするとどうなりますか。
テキストボックスに関してはマクロを記録できないので困っています。

gooドクター

A 回答 (3件)

まずは基本を覚えてみましょう。


下記を参考に


******************************************************************
Sub テキストボックス作成()
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 70, 24).Select
With Selection
.Text = "VBA"
.Font.Size = 14
.Font.ColorIndex = 3
.HorizontalAlignment = -4108 ' _ テキスト横: 中央揃え
.ShapeRange.Line.ForeColor.SchemeColor = 4 ' _ 線を青に
.ShapeRange.Line.Weight = 1.5 ' _ 線の太さを 1.5
.ShapeRange.Line.Visible = 1 ' _ ★ 線 無なら、【 0 】か False
.ShapeRange.Fill.ForeColor.SchemeColor = 5 ' _ 塗りつぶし黄色に
.ShapeRange.Fill.Transparency = 0.5 ' _ 透過性50%
.ShapeRange.Fill.Visible = 1 ' _ ★ 塗りつぶし 無 なら【 0 】かFalse
End With
End Sub
******************************************************************
    • good
    • 0
この回答へのお礼

お陰様で解決しました。

お礼日時:2012/01/22 15:44

Sub テキストボックス作成()


ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 70, 24).Select
Selection.Characters.Text = "VBA"
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 65
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoFalse

End Sub
上記の
Selection.ShapeRange.Fill.Solid
以下のコードは、線なし、の操作でマクロの記録で出来たコードです。
2003以前でやっているので2007では出来ないのかな。一応上記のコードでやってみて。
それに無駄な行もそのままにしてあるが。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/01/22 15:45

テキストボックスのプロパティに



境界線幅
.BorderWidth
境界線スタイル
.BorderStyle
境界線色
.BorderColor

を使います。

境界線幅「BorderWidth」には、0~6の数値を設定します。
0  :表示可能な最も細い境界線(既定値)
1~6:1ポイント~6ポイント

境界線スタイル「BackStyle」には、次の値を設定します。
透明      : 0
実線      : 1
破線      : 2
細かい破線   : 3
点線      : 4
間隔の粗い点線 : 5
一点鎖線    : 6
二点鎖線    : 7
二重実線    : 8

境界線幅が設定されていないときは「0(規定値)」が表示されます。

この回答への補足

オブジェクトはこのプロパティをサポートしていませんと出ます。
bが大文字に自動変換されないし。

所で質問しているのはコントロールテキストボックスではありません。
テキストボックスも2種類あり紛らわしいです。

Sub テキストボックス作成()
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10, 70, 24).Select
Selection.Characters.Text = "VBA"
Selection.borderwidth = 0
End Sub

補足日時:2012/01/22 11:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング