|
引数は半角数字しか渡せません。
Sub 引数付きツールバー作成()
Dim 引数 As String, PtWd As String, ツールバー As CommandBar
For Each ツールバー In CommandBars
If ツールバー.Name = "マクロバー" Then
ツールバー.Visible = True
MsgBox "ツールバーはすでにあります。", vbExclamation
Exit Sub
End If
Next
横位置 = 3000
縦位置 = 4000
PtWd = InputBox("ボタンに持たせる引数(数字のみ)を入力してください。", "引数入力", , XPos:=横位置, YPos:=縦位置)
If PtWd = "" Then
MsgBox "引数なし 終了"
Exit Sub
ElseIf Not IsNumeric(PasWd) Then
MsgBox "数字だけです。 終了"
Exit Sub
End If
Set バーバー = Application.CommandBars.Add(Name:="マクロバー", temporary:=True)
Application.CommandBars("マクロバー").Visible = True
引数 = PtWd
With バーバー
With .Controls.Add(Type:=msoControlButton, Before:=1)
.Style = msoButtonIconAndCaption '←ボタンとCaption →msoComboLabel
.FaceId = 482
' ↓ 半角数字だけ、全角も半角に直される。
.OnAction = "'実行マクロ(" & 引数 & ")'"
.TooltipText = "実行ボタン"
.Caption = "引数を持ったボタンバー"
End With
End With
End Su
Sub 実行マクロ(ByVal mmm As String)
MsgBox "持っている引数は " & mmm, vbDefaultButton2, "取得してある引数"
End Sub
Sub 削除()
On Error Resume Next
Application.CommandBars("マクロバー").Delete
End Sub
|
|