{"id":46,"date":"2014-01-24T18:19:33","date_gmt":"2014-01-25T01:19:33","guid":{"rendered":"https:\/\/blogs.ubc.ca\/coetoolbox\/?page_id=46"},"modified":"2016-10-06T18:15:13","modified_gmt":"2016-10-07T01:15:13","slug":"interface","status":"publish","type":"page","link":"https:\/\/blogs.ubc.ca\/coetoolbox\/vba\/interface\/","title":{"rendered":"User Forms"},"content":{"rendered":"<p>A form is an interface with a standard structure and format that makes it easier to capture, organize, and edit information (here is an <a title=\"Overview of forms\" href=\"http:\/\/office.microsoft.com\/en-us\/excel-help\/overview-of-forms-form-controls-and-activex-controls-on-a-worksheet-HA010237663.aspx\" target=\"_blank\">overview of forms<\/a>). You can create forms on spreadsheets or on VBA user forms, by using controls\u00a0. But before creating a customized user form, consider using built-in dialog boxes available from Excel.<\/p>\n<h2>1. Excel built-in dialogs<\/h2>\n<p><strong>Message boxes<\/strong>: allows you to print something for the user to see in a small dialog box with an OK button.<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #0000ff;\">MsgBox <\/span>(<span style=\"color: #993366;\">Prompt<\/span>, [<span style=\"color: #993366;\">Buttons<\/span>], [<span style=\"color: #993366;\">Title<\/span>])<br \/>\n<span style=\"color: #0000ff;\">MsgBox <\/span>(&#8220;Task completed&#8221;)<br \/>\n<span style=\"color: #0000ff;\">MsgBox <\/span>(&#8220;The value of the output is &#8221; &amp; ValueVar)<\/p>\n<p>Note: [Buttons] and [Title] are optional arguments.<\/p>\n<p>You can set the type of buttons displayed with the Button argument<\/p>\n<p style=\"padding-left: 30px;\">0 = OK button only (default)<br \/>\n1 = OK and Cancel buttons.<br \/>\n3 = Yes, No, and Cancel buttons.<\/p>\n<p>MsgBox returns an integer indicating which button the user clicked:<\/p>\n<p style=\"padding-left: 30px;\">1 = OK<br \/>\n2 = Cancel<br \/>\n6 = Yes<br \/>\n7 = No<\/p>\n<p>For more information about MsgBox go to <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/aa445082%28v=vs.60%29.aspx\" target=\"_blank\">MsgBox Function<\/a>.<\/p>\n<p><strong>Input box<\/strong>: allows you to prompt the user to enter some value in \u000ba small dialog box and returns a string containing the contents of the text box<\/p>\n<p style=\"padding-left: 30px;\">x = <span style=\"color: #0000ff;\">InputBox<\/span> (<span style=\"color: #993366;\">Prompt<\/span>, [<span style=\"color: #993366;\">Title<\/span>], [<span style=\"color: #993366;\">DefaultResponse<\/span>])<br \/>\nx = <span style=\"color: #0000ff;\">InputBox<\/span> (&#8220;Insert a number&#8221;, ,10)<\/p>\n<p>If the user clicks Cancel, a zero-length string is returned<\/p>\n<p><strong>Input box method<\/strong>: displays a dialog box to input more specific type of data (formula, number, text, logical value or range of cells)<\/p>\n<p style=\"padding-left: 30px;\">x = <span style=\"color: #0000ff;\">Application.InputBox <\/span>(<span style=\"color: #993366;\">prompt<\/span>:=&#8221;Insert a formula&#8221;, <span style=\"color: #993366;\">type<\/span> = 0)<br \/>\n<span style=\"color: #993366;\">Set<\/span> r = <span style=\"color: #0000ff;\">Application.InputBox <\/span>(<span style=\"color: #993366;\">prompt<\/span>:=&#8221;Select a range&#8221;, <span style=\"color: #993366;\">type<\/span>\u00a0:= 8)<\/p>\n<p>\u00a0where Type specifies the return data type<\/p>\n<p style=\"padding-left: 30px;\">0 = Formula<br \/>\n1 =\u00a0 Number<br \/>\n2 = Text (String)<br \/>\n4 = Logical value (True or False)<br \/>\n8 = Cell reference (Range object)<br \/>\n16 = Error value<br \/>\n64 = Array of values<\/p>\n<p>For more information about the input box method go to <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/office\/ff839468%28v=office.15%29.aspx\" target=\"_blank\">Application.InputBox Method<\/a>.<\/p>\n<p>Other built-in dialog boxes are\u00a0<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/office\/ff834966%28v=office.15%29.aspx\" target=\"_blank\">GetOpenFilename<\/a> method and\u00a0<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/office\/ff195734%28v=office.15%29.aspx\" target=\"_blank\">GetSaveAsFilename<\/a> method.\u00a0 The Dialogs object of the Application object contains all the built-in Excel dialog boxes.<\/p>\n<h2>2. Controls<\/h2>\n<p style=\"padding-left: 30px;\">Note: In this section we focus on ActiveX Controls, which provide more interaction with VBA macros. You can find more about <a href=\"http:\/\/office.microsoft.com\/en-us\/excel-help\/overview-of-forms-form-controls-and-activex-controls-on-a-worksheet-HA010237663.aspx#BMactivex_controls_on_the_control_toolb\" target=\"_blank\">ActiveX Controls here<\/a>.<\/p>\n<p>Controls are objects that display data or make it easier for users to enter or edit data, perform an action, or make a selection. The <span style=\"color: #0000ff;\">Control Toolbox<\/span> in VBE contains a set of controls, which can be placed directly on the spreadsheet or in user forms.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.worldbestlearningcenter.com\/index_files\/excel-VBA-controls.htm\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"http:\/\/www.worldbestlearningcenter.com\/index_files\/ExcelVBA-Common-controls.png\" alt=\"Control Toolbox\" width=\"491\" height=\"342\" \/><\/a><\/p>\n<p>Each control has a set of <span style=\"color: #0000ff;\">properties<\/span> which can be \u000bmodified and a set of <span style=\"color: #0000ff;\">events<\/span> triggered by some action. <a title=\" VBA for Excel 2007 tutorial-Controls\" href=\"http:\/\/www.worldbestlearningcenter.com\/index_files\/excel-VBA-controls.htm\" target=\"_blank\">This website<\/a> provides a list of properties and events for the most common controls. Here is a summary:<\/p>\n<table class=\"MsoTableGrid\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1536; mso-padding-alt: 0in 5.4pt 0in 5.4pt;\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Control<\/p>\n<\/td>\n<td style=\"width: 238.45pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Properties<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Events<\/p>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 1;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Label<\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Font: the font of text to be displayed on the label<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Caption: the text of the label<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\"><\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 2;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\"><span class=\"SpellE\">Text Box<\/span><\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Text: the text of the textbox<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Multiline: If true, the textbox can accept multiple lines of text.<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\"><span class=\"SpellE\">Keypress<\/span>: triggered when the keyboard is pressed.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Change: <span style=\"mso-spacerun: yes;\">\u00a0<\/span>triggered when the<br \/>\ntext of the textbox is changed.<\/p>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 3;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Button<\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Caption: text displayed on the button<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Click: triggered when the button is clicked.<\/p>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 4;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\"><span class=\"SpellE\">Combo Box<\/span><\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Value: displayed value of the combo box<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">List: contains all items of the combo box<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Change: triggered when an item of the combo box is selected.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">AddItem: adds an item<\/p>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 5;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\"><span class=\"SpellE\">Check Box<\/span><\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Caption: text displayed on the right of the checkbox<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Value: True when the checkbox is checked, otherwise it is unchecked.<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Change: triggered when the checkbox is checked or unchecked.<\/p>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 6;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\"><span class=\"SpellE\">List Box<\/span><\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Value: value of the selected item<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">List: contains all items of the list box<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Change: triggered when an item of the <span class=\"SpellE\">listbox <\/span>is selected.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">AddItem: adds an item to the list<\/p>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 7; mso-yfti-lastrow: yes;\">\n<td style=\"width: 44.75pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"60\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\"><span class=\"SpellE\">Option Button<\/span><\/p>\n<\/td>\n<td style=\"width: 238.45pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Caption: text displayed on the right of the option button<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Value: True when the option is selected, otherwise it\u2019s not selected.<\/p>\n<\/td>\n<td style=\"width: 238.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt;\" valign=\"top\" width=\"318\">\n<p class=\"MsoNormal\" style=\"margin-bottom: .0001pt; line-height: normal;\">Click: triggered when the option is clicked<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"color: #0000ff;\">Event Procedures<\/span> connect actions of controls to a specific macro of VBA code. You can find the complete list of event procedures for a control at the top of the Code Window. Select an object (left hand list) and then the event (right hand list). You can also set the control properties in the <span style=\"color: #0000ff;\">properties window<\/span>.<\/p>\n<h2>3. VBA User Forms<\/h2>\n<p>VBA User Forms are custom dialog boxes built with controls and their attached macros. To create a form follow these steps:<\/p>\n<p><strong>1. Insert a UserForm into your VBAProject<\/strong>: on VBE, go to Insert\u00a0\u2192 User Form \u000b from the menu.<\/p>\n<p><strong>2. Write a procedure to display the UserForm<\/strong>: you can display the form when you click a button or open a workbook. Use the <span style=\"color: #993366;\">UserForm1<\/span><span style=\"color: #0000ff;\">.Show<\/span> statement.<\/p>\n<p><strong>3. Set up your form properties<\/strong>: on the VBE properties window set the form properties such as Name, Caption, BorderStyle and ScrollBars.<\/p>\n<p><strong>4. Add controls from the Control Toolbox<\/strong><\/p>\n<p><strong>5. Modify properties for the controls<\/strong>: they can be changed when designing the form (using VBE&#8217;s Properties window), or by writing code that manipulate these characteristics at run time.<\/p>\n<p><strong>6. Write event-handler procedures for the controls<\/strong>: event procedures are written in a separate user form module.<\/p>\n<p>Typically you will need to define a procedure to initialize your controls when your form is displayed. You can do this with the <span style=\"color: #0000ff;\">Initialize<\/span> event of the user form: UserForm1_Initialize(). In this procedure you can set your combo box or list box values and initialize your form variables.<\/p>\n<p>At some point you will need to close or hide your form. Use the statements <span style=\"color: #0000ff;\">UserForm1.Hide<\/span> in any procedure or <span style=\"color: #0000ff;\">Unload Me<\/span> within some of the controls&#8217; event procedures.<\/p>\n<p><a href=\"http:\/\/www.excel-easy.com\/vba\/userform.html\">Here<\/a>&#8216;s a detailed walkthrough of creating a form.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A form is an interface with a standard structure and format that makes it easier to capture, organize, and edit information (here is an overview of forms). You can create forms on spreadsheets or on VBA user forms, by using controls\u00a0. But before creating a customized user form, consider using built-in dialog boxes available from [&hellip;]<\/p>\n","protected":false},"author":22982,"featured_media":0,"parent":2,"menu_order":8,"comment_status":"open","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"footnotes":""},"class_list":["post-46","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/pages\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/users\/22982"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":29,"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/pages\/46\/revisions"}],"predecessor-version":[{"id":1511,"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/pages\/46\/revisions\/1511"}],"up":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/pages\/2"}],"wp:attachment":[{"href":"https:\/\/blogs.ubc.ca\/coetoolbox\/wp-json\/wp\/v2\/media?parent=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}