Sub MyComboZzzAdd() Rem *----*----* *----*----* *----*----* *----*----* Rem 入力済み文字列コンボボックス取り込み処理 Rem 作譜:Hitrock Camellia Shinopy Rem 言語:Word VBA Rem 機能... Rem 文書上に文字列を逐次に行方向に入力しておき、 Rem これらの文字列をコマンドバーのコンボボックスの項目として取り込む。 Rem 注記... Rem コンボボックスの項目に取り込む文字列は、タブあるいは改行で区切ること。 Rem MyComboZzzOneに処理を引き渡す。 Rem Microsoft Word終了後、コンボボックスは自動的に削除される。 Rem 履歴... Rem 第01版:2006/10/08 作成。 Rem *----*----* *----*----* *----*----* *----*----* Dim myCmmdBar As CommandBar Dim myCtrl As CommandBarControl Dim myText As String Dim myArray As Variant Dim myItem As Variant Dim i As Long Rem *----*----* *----*----* *----*----* *----*----* ' If Selection.Type = wdSelectionIP Then MsgBox "文字列が選択されていません。" Exit Sub End If ' i = 0 On Error Resume Next CommandBars("Zzz").Delete On Error GoTo 0 ' myText = Selection.Range.Text myText = Replace(myText, vbTab, vbCr) myArray = Split(myText, vbCr) Rem *----*----* *----*----* *----*----* *----*----* ' Set myCmmdBar = CommandBars.Add(Name:="Zzz", Position:=msoBarFloating, Temporary:=True) Set myCtrl = myCmmdBar.Controls.Add(Type:=msoControlComboBox, Before:=1, Temporary:=True) ' With myCtrl .DescriptionText = "コマンドバーを表示させ、コンボボックスから選択させます。" .Style = msoComboLabel .Caption = "文字列を選択して下さい。" .TooltipText = "一つ選んで下さい。" For Each myItem In myArray If myItem <> "" Then i = i + 1 .AddItem myItem, i End If Next ' myArray .DropDownLines = i .DropDownWidth = 200 .ListIndex = 0 .OnAction = "MyComboZzzOne" End With Rem *----*----* *----*----* *----*----* *----*----* ' Selection.Collapse wdCollapseStart myCmmdBar.Visible = True End Sub ' MyComboZzzAdd *----*----* *----*----* *----*----* *----*----* Sub MyComboZzzOne() Rem *----*----* *----*----* *----*----* *----*----* Rem コンボボックス項目名挿入処理 Rem 作譜:Hitrock Camellia Shinopy Rem 言語:Word VBA Rem 機能... Rem 文書上に、コンボボックスから選択した項目名を挿入する。 Rem 注記... Rem MyComboZzzAddから処理を受け継ぐ。 Rem 履歴... Rem 第01版:2006/10/08 作成。 Rem *----*----* *----*----* *----*----* *----*----* Dim myCmmdBar As CommandBar Dim myCtrl As CommandBarControl Rem *----*----* *----*----* *----*----* *----*----* ' With CommandBars("Zzz").Controls(1) Selection.TypeText .Text End With End Sub ' MyComboZzzOne *----*----* *----*----* *----*----* *----*----*