{"id":9183,"date":"2017-09-28T09:00:28","date_gmt":"2017-09-28T00:00:28","guid":{"rendered":"https:\/\/www.ka-net.org\/blog\/?p=9183"},"modified":"2017-09-28T10:45:16","modified_gmt":"2017-09-28T01:45:16","slug":"%e5%a4%96%e9%83%a8%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%9c%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%81%ae%e5%86%85%e5%ae%b9%e3%82%92","status":"publish","type":"post","link":"https:\/\/www.ka-net.org\/blog\/?p=9183","title":{"rendered":"\u5916\u90e8\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u306e\u5185\u5bb9\u3092\u53d6\u5f97\u3059\u308bVBA\u30de\u30af\u30ed\u306e\u30b5\u30f3\u30d7\u30eb"},"content":{"rendered":"<p>Q&#038;A\u30b5\u30a4\u30c8\u306b\u4e0b\u8a18\u8cea\u554f\u304c\u3042\u308a\u307e\u3057\u305f\u3002<br \/>\n(<a href=\"https:\/\/oshiete.goo.ne.jp\/qa\/9956783.html\" title=\"\u3010VBA\u3011UI Automation\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u3092\u5236\u5fa1\u3057\u305f\u3044 -\u6dfb\u4ed8\u753b\u50cf\u306b\u793a\u3059\u3088\u3046- Visual Basic\uff08VBA\uff09 | \u6559\u3048\u3066!goo\" target=\"_blank\">\u3053\u306e\u8cea\u554f<\/a>\u3082\u4f55\u3068\u306a\u304f\u4f3c\u305f\u3088\u3046\u306a\u611f\u3058\u306e\u5185\u5bb9\u3067\u3059\u3002)<\/p>\n<ul>\n<li>Excel, VBA, UI Automation \u3092\u4f7f\u7528\u3057\u3066\u3001\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u5185\u306e\u9078\u629e\u80a2\u3092\u3059\u3079\u3066\u3092\u53d6\u5f97<\/li>\n<li style=\"list-style-type:none;\"><a href=\"https:\/\/teratail.com\/questions\/93907\" target=\"_blank\" title=\"Excel, VBA, UI Automation \u3092\u4f7f\u7528\u3057\u3066\u3001\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u5185\u306e\u9078\u629e\u80a2\u3092\u3059\u3079\u3066\u3092\u53d6\u5f97\">https:\/\/teratail.com\/questions\/93907<\/a><\/li>\n<\/ul>\n<p>\u4e0a\u8a18\u30b5\u30a4\u30c8\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u6301\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u56de\u7b54\u3092\u4ed8\u3051\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u304c\u3001\u79c1\u306e\u30d6\u30ed\u30b0\u8a18\u4e8b\u3092\u53c2\u7167\u3057\u3066\u3044\u305f\u3060\u3044\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u3053\u306e\u5834\u3067\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u8f09\u305b\u3066\u307f\u3088\u3046\u304b\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u4f8b\u3068\u3057\u3066\u3001\u30e1\u30e2\u5e33\u306e\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u306b\u3042\u308b\u300c\u6587\u5b57\u30bb\u30c3\u30c8\u300d\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u306e\u5185\u5bb9\u306e\u53d6\u5f97\u3092\u8a66\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u540c\u3058\u51e6\u7406\u306e\u30de\u30af\u30ed\u3092\u66f8\u3044\u3066\u307f\u307e\u3059\u3002<\/p>\n<p><span style=\"color: #ff0000; font-weight: bold;\">\u203b\u4e0b\u8a18\u30b3\u30fc\u30c9\u306f\u30a8\u30e9\u30fc\u51e6\u7406\u3057\u3066\u3044\u307e\u305b\u3093\u306e\u3067\u3001\u5834\u5408\u306b\u3088\u3063\u3066\u306f\u30eb\u30fc\u30d7\u304c\u6b62\u307e\u3089\u306a\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/span><\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">'32\u30d3\u30c3\u30c8\u7248Office\u3092\u5bfe\u8c61\r\nOption Explicit\r\n\r\nPrivate Declare Function FindWindowEx Lib &quot;user32&quot; Alias &quot;FindWindowExA&quot; (ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long\r\nPrivate Declare Function PostMessage Lib &quot;user32&quot; Alias &quot;PostMessageA&quot; (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long\r\n\r\nPrivate Const WM_CLOSE = &amp;H10\r\nPrivate Const WM_COMMAND As Long = &amp;H111\r\n\r\nPublic Sub Sample()\r\n'\u30e1\u30e2\u5e33\u306e\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u306b\u3042\u308b\u300c\u6587\u5b57\u30bb\u30c3\u30c8\u300d\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u306e\u5185\u5bb9\u53d6\u5f97\r\n  Dim uiAuto As CUIAutomation\r\n  Dim elmFontDlg As IUIAutomationElement\r\n  Dim elmCharSetCbo As IUIAutomationElement\r\n  Dim elmCharSetLCbo As IUIAutomationElement\r\n  Dim ecptn As IUIAutomationExpandCollapsePattern\r\n  Dim cndListItems As IUIAutomationCondition\r\n  Dim aryListItems As IUIAutomationElementArray\r\n  Dim hNotepad As Long\r\n  Dim hFontDlg As Long\r\n  Dim i As Long\r\n  \r\n  Set uiAuto = New CUIAutomation\r\n  \r\n  '\u30e1\u30e2\u5e33\u53d6\u5f97\r\n  Shell &quot;notepad.exe&quot;, vbNormalFocus\r\n  Do\r\n    hNotepad = FindWindowEx(0, 0, &quot;Notepad&quot;, vbNullString)\r\n    DoEvents\r\n  Loop Until hNotepad &lt;&gt; 0\r\n  \r\n  '\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u53d6\u5f97\r\n  PostMessage hNotepad, WM_COMMAND, &amp;H21, 0 '\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u8868\u793a\r\n  Do\r\n    hFontDlg = FindWindowEx(0, 0, &quot;#32770&quot;, &quot;\u30d5\u30a9\u30f3\u30c8&quot;)\r\n    DoEvents\r\n  Loop Until hFontDlg &lt;&gt; 0\r\n  Set elmFontDlg = uiAuto.ElementFromHandle(ByVal hFontDlg)\r\n  If elmFontDlg Is Nothing Then Exit Sub\r\n  \r\n  '\u6587\u5b57\u30bb\u30c3\u30c8\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u53d6\u5f97\u2192\u30aa\u30fc\u30d7\u30f3\r\n  Do\r\n    Set elmCharSetCbo = GetElement(uiAuto, _\r\n                                   elmFontDlg, _\r\n                                   UIA_AccessKeyPropertyId, _\r\n                                   &quot;Alt+r&quot;, _\r\n                                   UIA_ComboBoxControlTypeId)\r\n    DoEvents\r\n  Loop While elmCharSetCbo Is Nothing\r\n  Set ecptn = elmCharSetCbo.GetCurrentPattern(UIA_ExpandCollapsePatternId)\r\n  ecptn.Expand\r\n  \r\n  '\u6587\u5b57\u30bb\u30c3\u30c8\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u5185\u5bb9\u5217\u6319\u2192\u30af\u30ed\u30fc\u30ba\r\n  Do\r\n    Set elmCharSetLCbo = GetElement(uiAuto, _\r\n                                    elmCharSetCbo, _\r\n                                    UIA_ClassNamePropertyId, _\r\n                                    &quot;ComboLBox&quot;)\r\n    DoEvents\r\n  Loop While elmCharSetLCbo Is Nothing\r\n  Set cndListItems = uiAuto.CreatePropertyCondition( _\r\n                       UIA_ControlTypePropertyId, _\r\n                       UIA_ListItemControlTypeId _\r\n                     )\r\n  Set aryListItems = elmCharSetLCbo.FindAll( _\r\n                       TreeScope_Subtree, _\r\n                       cndListItems _\r\n                     )\r\n  For i = 0 To aryListItems.Length - 1\r\n    Debug.Print aryListItems.GetElement(i).CurrentName\r\n  Next\r\n  ecptn.Collapse\r\n  \r\n  '\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u9589\u3058\u3066\u30e1\u30e2\u5e33\u7d42\u4e86\r\n  PostMessage hFontDlg, WM_CLOSE, 0, 0\r\n  PostMessage hNotepad, WM_CLOSE, 0, 0\r\nEnd Sub\r\n\r\nPrivate Function GetElement(ByVal uiAuto As CUIAutomation, _\r\n                            ByVal elmParent As IUIAutomationElement, _\r\n                            ByVal propertyId As Long, _\r\n                            ByVal propertyValue As Variant, _\r\n                            Optional ByVal ctrlType As Long = 0) As IUIAutomationElement\r\n  Dim cndFirst As IUIAutomationCondition\r\n  Dim cndSecond As IUIAutomationCondition\r\n    \r\n  Set cndFirst = uiAuto.CreatePropertyCondition( _\r\n                   propertyId, _\r\n                   propertyValue _\r\n                 )\r\n  If ctrlType &lt;&gt; 0 Then\r\n    Set cndSecond = uiAuto.CreatePropertyCondition( _\r\n                      UIA_ControlTypePropertyId, _\r\n                      ctrlType _\r\n                    )\r\n    Set cndFirst = uiAuto.CreateAndCondition( _\r\n                     cndFirst, _\r\n                     cndSecond _\r\n                   )\r\n  End If\r\n  Set GetElement = elmParent.FindFirst(TreeScope_Subtree, cndFirst)\r\nEnd Function<\/pre>\n<p>\u8cea\u554f\u3055\u308c\u3066\u3044\u308b\u65b9\u306fUIAutomation\u2192IAccessible\u3067\u306e\u51e6\u7406\u3092\u884c\u308f\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u3092\u4e00\u5ea6\u5c55\u958b\u3059\u308c\u3070\u3001UIAutomation\u3067\u3082\u5185\u5bb9\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u3042\u308b\u3044\u306f\u3001IAccessible\u3060\u3051\u3092\u4f7f\u3063\u3066\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b\u51e6\u7406\u3057\u3066\u3082\u826f\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">'32\u30d3\u30c3\u30c8\u7248Office\u3092\u5bfe\u8c61\r\nOption Explicit\r\n\r\nPrivate Declare Function AccessibleChildren Lib &quot;oleacc&quot; (ByVal paccContainer As IAccessible, ByVal iChildStart As Long, ByVal cChildren As Long, ByRef rgvarChildren As Any, ByRef pcObtained As Long) As Long\r\nPrivate Declare Function AccessibleObjectFromWindow Lib &quot;oleacc&quot; (ByVal hWnd As Long, ByVal dwId As Long, riid As Any, ByRef ppvObject As IAccessible) As Long\r\nPrivate Declare Function FindWindowEx Lib &quot;user32&quot; Alias &quot;FindWindowExA&quot; (ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long\r\nPrivate Declare Function IIDFromString Lib &quot;ole32&quot; (ByVal lpsz As Long, lpiid As Any) As Long\r\nPrivate Declare Function PostMessage Lib &quot;user32&quot; Alias &quot;PostMessageA&quot; (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long\r\n\r\nPrivate Const CHILDID_SELF = &amp;H0&amp;\r\nPrivate Const OBJID_CLIENT = &amp;HFFFFFFFC\r\nPrivate Const ROLE_SYSTEM_LIST = &amp;H21\r\nPrivate Const WM_CLOSE = &amp;H10\r\nPrivate Const WM_COMMAND As Long = &amp;H111\r\n\r\nPublic Sub Sample2()\r\n'\u30e1\u30e2\u5e33\u306e\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u306b\u3042\u308b\u300c\u6587\u5b57\u30bb\u30c3\u30c8\u300d\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u306e\u5185\u5bb9\u53d6\u5f97\r\n  Dim hNotepad As Long\r\n  Dim hFontDlg As Long\r\n  Dim accFontDlg As IAccessible\r\n  Dim accCharSetLst As IAccessible\r\n  Dim IID(0 To 3) As Long\r\n  Dim i As Long\r\n  \r\n  '\u30e1\u30e2\u5e33\u53d6\u5f97\r\n  Shell &quot;notepad.exe&quot;, vbNormalFocus\r\n  Do\r\n    hNotepad = FindWindowEx(0, 0, &quot;Notepad&quot;, vbNullString)\r\n    DoEvents\r\n  Loop Until hNotepad &lt;&gt; 0\r\n  \r\n  '\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u53d6\u5f97\r\n  PostMessage hNotepad, WM_COMMAND, &amp;H21, 0 '\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u8868\u793a\r\n  Do\r\n    hFontDlg = FindWindowEx(0, 0, &quot;#32770&quot;, &quot;\u30d5\u30a9\u30f3\u30c8&quot;)\r\n    DoEvents\r\n  Loop Until hFontDlg &lt;&gt; 0\r\n  IIDFromString StrPtr(&quot;{618736E0-3C3D-11CF-810C-00AA00389B71}&quot;), IID(0) 'IID_IAccessible\r\n  AccessibleObjectFromWindow hFontDlg, OBJID_CLIENT, IID(0), accFontDlg\r\n  If accFontDlg Is Nothing Then Exit Sub\r\n  \r\n  '\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u53d6\u5f97\u2192\u5185\u5bb9\u5217\u6319\r\n  Set accCharSetLst = GetAccessibleObject(accFontDlg, _\r\n                                          &quot;\u6587\u5b57\u30bb\u30c3\u30c8(R):&quot;, _\r\n                                          ROLE_SYSTEM_LIST)\r\n  If accCharSetLst Is Nothing Then Exit Sub\r\n  For i = 1 To accCharSetLst.accChildCount\r\n    Debug.Print accCharSetLst.accName(i&amp;)\r\n  Next\r\n  \r\n  '\u30d5\u30a9\u30f3\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u9589\u3058\u3066\u30e1\u30e2\u5e33\u7d42\u4e86\r\n  PostMessage hFontDlg, WM_CLOSE, 0, 0\r\n  PostMessage hNotepad, WM_CLOSE, 0, 0\r\nEnd Sub\r\n\r\nPrivate Function GetAccessibleObject(ByVal SrcAccObj As IAccessible, _\r\n                                     ByVal TgtAccName As String, _\r\n                                     ByVal TgtAccRole As Long) As IAccessible\r\n  Dim ret As IAccessible\r\n  Dim list() As Variant\r\n  Dim cnt As Long, i As Long\r\n  \r\n  Set ret = Nothing '\u521d\u671f\u5316\r\n  If (SrcAccObj.accName(CHILDID_SELF) = TgtAccName) And _\r\n     (SrcAccObj.accRole(CHILDID_SELF) = TgtAccRole) Then\r\n    Set ret = SrcAccObj\r\n  Else\r\n    cnt = SrcAccObj.accChildCount\r\n    If cnt &gt; 0 Then\r\n      ReDim list(cnt - 1)\r\n      If AccessibleChildren(SrcAccObj, 0, cnt, list(0), cnt) = 0 Then\r\n        For i = LBound(list) To UBound(list)\r\n          If TypeOf list(i) Is IAccessible Then\r\n            Set ret = GetAccessibleObject(list(i), TgtAccName, TgtAccRole)\r\n            If Not ret Is Nothing Then Exit For\r\n          End If\r\n        Next\r\n      End If\r\n    End If\r\n  End If\r\n  Set GetAccessibleObject = ret\r\nEnd Function<\/pre>\n<p>\u3044\u305a\u308c\u306b\u3057\u3066\u3082\u3001\u3053\u3053\u3067\u6319\u3052\u305f\u30b3\u30fc\u30c9\u306f\u307b\u3093\u306e\u4e00\u4f8b\u3067\u3059\u306e\u3067\u3001\u5bfe\u8c61\u3068\u306a\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u9055\u3048\u3070\u51e6\u7406\u3082\u7570\u306a\u3063\u3066\u304d\u307e\u3059\u3002<br \/>\n\u5927\u5207\u306a\u306e\u306f\u3001<a href=\"https:\/\/msdn.microsoft.com\/ja-jp\/library\/windows\/desktop\/dd318521.aspx\" title=\"Inspect (Windows)\" target=\"_blank\">Inspect<\/a>\u7b49\u306e\u30c4\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u3001\u5bfe\u8c61\u3068\u306a\u308b\u8981\u7d20\u304c\u3069\u306e\u3088\u3046\u306a\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u304b\u3092\u3088\u304f\u898b\u308b\u3053\u3068\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u5916\u90e8\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u64cd\u4f5c\u3092VBA\u30de\u30af\u30ed\u3067\u3084\u308d\u3046\u3068\u3059\u308b\u3068\u3001\u51e6\u7406\u304c\u8907\u96d1\u306b\u306a\u308b\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3001<i>\u201cVBA\u306b\u305d\u3093\u306a\u7121\u7406\u306f\u3055\u305b\u306a\u3044\uff01\u624b\u52d5\u3067\u3067\u304d\u308b\u3068\u3053\u308d\u306f\u624b\u52d5\u3067\u3084\u308b\uff01\uff01\u201d<\/i>\u3068\u3044\u3046\u3088\u3046\u306b\u3001\u51e6\u7406\u3092\u5207\u308a\u5206\u3051\u308b\u3053\u3068\u3082\u8003\u3048\u3066\u307f\u3066\u306f\u3044\u304b\u304c\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<div id=\"single_banner_area2\" class=\"clearfix one_banner\">\n<div class=\"single_banner single_banner_left\">\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- \u8a18\u4e8b\u4e2d(\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u5e83\u544a\u30e6\u30cb\u30c3\u30c8) -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-7306936664602087\"\r\n     data-ad-slot=\"5429724765\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n<\/div>\n<div class=\"single_banner single_banner_right\">\n<a href=\"\" target=\"_blank\"><img decoding=\"async\" src=\"\" alt=\"\" title=\"\" \/><\/a>\n<\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"Q&#038;A\u30b5\u30a4\u30c8\u306b\u4e0b\u8a18\u8cea\u554f\u304c\u3042\u308a\u307e\u3057\u305f\u3002 (\u3053\u306e\u8cea\u554f\u3082\u4f55\u3068\u306a\u304f\u4f3c\u305f\u3088\u3046\u306a\u611f\u3058\u306e\u5185\u5bb9\u3067\u3059\u3002) Excel, VBA, UI Automation \u3092\u4f7f\u7528\u3057\u3066\u3001\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u5185\u306e\u9078\u629e\u80a2\u3092\u3059\u3079\u3066\u3092\u53d6\u5f97 https:\/\/t [&hellip;]","protected":false},"author":1,"featured_media":7120,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"[\u5916\u90e8\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9\u306e\u5185\u5bb9\u3092\u53d6\u5f97\u3059\u308bVBA\u30de\u30af\u30ed\u306e\u30b5\u30f3\u30d7\u30eb]","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[4,48,49,58],"tags":[],"class_list":["post-9183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-office","category-excel-office","category-word-office","category-powerpoint"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/eyecatch-OfficeVBA.png","jetpack_shortlink":"https:\/\/wp.me\/p4UZZr-2o7","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/9183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9183"}],"version-history":[{"count":1,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/9183\/revisions"}],"predecessor-version":[{"id":9184,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/9183\/revisions\/9184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/media\/7120"}],"wp:attachment":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}