寸法の下側文字を編集したい時が、チョロチョロ出てきました。
前後はマニピュレータで表示させると便利だと、知り合いの方に
以前教わりました。
設定に無いって事は、寸法の下側の文字を利用する機会が
少ないって事でしょうか?
そればっかりやるのであれば、Ait + Enter で済ませるのですが
ナカナカそればかりの作業でもないので、マクロを作りました。
'vba Modify_Dimension_LowerText ver0.0.1 using-'KCL0.0.12' by Kantoku Option Explicit Private Enum Dimension_Value Main_Value = 1 Dual_Value = 2 End Enum Sub CATMain() 'ドキュメントのチェック If Not CanExecute("DrawingDocument") Then Exit Sub Dim msg1$: msg1 = "下側テキストを修正する寸法を選択 // [Esc]=Cancel" Dim msg2$: msg2 = "修正文字を入力して下さい" Dim DrwDim As DrawingDimension Dim DimVal As Variant 'DrawingDimValue Dim Bfr$, Afr$, Upr$, Lwr$ Dim txt '$ Do Set DrwDim = KCL.SelectItem(msg1, "DrawingDimension") If DrwDim Is Nothing Then Exit Sub Set DimVal = DrwDim.GetValue Call DimVal.GetBaultText(Dimension_Value.Main_Value, _ Bfr, Afr, Upr, Lwr) txt = InputBox(msg2, msg2, Lwr) If StrPtr(txt) = 0 Then Exit Sub Call DimVal.SetBaultText(Dimension_Value.Main_Value, _ Bfr, _ Afr, _ Upr, txt) Loop End Sub
任意の寸法をクリックしたら、インプットBoxが出てきて文字を修正
を連続で出来ます。
あまりInputBoxを使わないので、キャンセルボタンの判断のやり方を
迷いました。
キャンセルボタンは vbnullsting が返って来るものかと思っていたのですが
違うんですね。調べた所こちらがHit
Office TANAKA - Excel VBA Tips[実は奥が深いInputBox]
試したところ・・・ん 違う。Application.InputBoxだからかな?
まぁ何となく、試す前から違うような香りはしていたのですが。
もっと調べるとこちらがHit
InputBox関数でキャンセルされたときの処理-StrPtr関数:エクセルマクロ・Excel VBAの使い方-VBA関数
あまり使わないから覚書です。