ExcelVBAにて図の挿入について

実現したいこと

Excelのリボンタグから挿入→図→正方形を選択
の部分まで行いたいと思っております。

前提

前提としてVBAで実装予定です。
Shapes.AddPictureで作成される図の場合該当処理をした時点で作成が完了されてしまうのですが、行いたいのはマウスで作成する動作になります。

試したこと

現在下記のサイトを参考に挿入タブまで選択できたのですが知識が不足しているためそちら以降の作業が分かっておりません。
https://www.ka-net.org/blog/?p=4624

###ソース

VBA

1Option Explicit 2 3Public Sub Sample() 4 SelectRibbonTab "挿入" 5End Sub 6 7Public Sub SelectRibbonTab(ByVal tabName As String) 8'リボンのタブを選択 9 Dim uiAuto As UIAutomationClient.CUIAutomation 10 Dim elmRibbon As UIAutomationClient.IUIAutomationElement 11 Dim elmRibbonTab As UIAutomationClient.IUIAutomationElement 12 Dim cndProperty As UIAutomationClient.IUIAutomationCondition 13 Dim aryRibbonTab As UIAutomationClient.IUIAutomationElementArray 14 Dim ptnAcc As UIAutomationClient.IUIAutomationLegacyIAccessiblePattern 15 Dim accRibbon As Office.IAccessible 16 Dim i As Long 17 18 Set elmRibbonTab = Nothing '初期化 19 Set uiAuto = New UIAutomationClient.CUIAutomation 20 Set accRibbon = Application.CommandBars("Ribbon") 21 Set elmRibbon = uiAuto.ElementFromIAccessible(accRibbon, 0) 22 Set cndProperty = uiAuto.CreatePropertyCondition(UIA_ClassNamePropertyId, "NetUIRibbonTab") 23 Set aryRibbonTab = elmRibbon.FindAll(TreeScope_Subtree, cndProperty) 24 For i = 0 To aryRibbonTab.Length - 1 25 Debug.Print "CurrentName" & aryRibbonTab.GetElement(i).CurrentName 26 If aryRibbonTab.GetElement(i).CurrentName = tabName Then 27 Set elmRibbonTab = aryRibbonTab.GetElement(i) 28 Exit For 29 End If 30 Next 31 If elmRibbonTab Is Nothing Then Exit Sub 32 Set ptnAcc = elmRibbonTab.GetCurrentPattern(UIA_LegacyIAccessiblePatternId) 33 ptnAcc.DoDefaultAction 34 35 36End Sub

有識者の方、または試したことがあるかたよろしければ助言をいただきたいです。

コメントを投稿

0 コメント