{"id":2061,"date":"2019-04-03T00:22:37","date_gmt":"2019-04-03T00:22:37","guid":{"rendered":"http:\/\/elbsolutions.com\/projects\/?p=2061"},"modified":"2022-02-03T11:24:27","modified_gmt":"2022-02-03T17:24:27","slug":"custom-ribbon-via-vba","status":"publish","type":"post","link":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/","title":{"rendered":"Custom Ribbon Via VBA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Here&#8217;s a couple links that explain how to unzip and modify the OpenXML file hierarchy of .xlsx and .xlsm files and how to create custom ribbonUI. This should make it possible to access and modify the customUI ribbon via customXMLParts at runtime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Opening and modifying excel files as zips: <a href=\"https:\/\/www.jkp-ads.com\/articles\/excel2007fileformat02.asp\">https:\/\/www.jkp-ads.com\/articles\/excel2007fileformat02.asp<\/a> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">VBA customUI editor: <a href=\"https:\/\/yoursumbuddy.com\/ribbon-customui-xml-editor\/\">https:\/\/yoursumbuddy.com\/ribbon-customui-xml-editor\/<\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a couple links that explain how to unzip and modify the OpenXML file hierarchy of .xlsx and .xlsm files and how to create custom ribbonUI. This should make it possible to access and modify the customUI ribbon via customXMLParts at runtime. Opening and modifying excel files as zips: https:\/\/www.jkp-ads.com\/articles\/excel2007fileformat02.asp VBA customUI editor: https:\/\/yoursumbuddy.com\/ribbon-customui-xml-editor\/<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2061","post","type-post","status-publish","format-standard","hentry","category-general"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Custom Ribbon Via VBA - ELB Solutions.com Inc.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom Ribbon Via VBA - ELB Solutions.com Inc.\" \/>\n<meta property=\"og:description\" content=\"Here&#8217;s a couple links that explain how to unzip and modify the OpenXML file hierarchy of .xlsx and .xlsm files and how to create custom ribbonUI. This should make it possible to access and modify the customUI ribbon via customXMLParts at runtime. Opening and modifying excel files as zips: https:\/\/www.jkp-ads.com\/articles\/excel2007fileformat02.asp VBA customUI editor: https:\/\/yoursumbuddy.com\/ribbon-customui-xml-editor\/\" \/>\n<meta property=\"og:url\" content=\"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/\" \/>\n<meta property=\"og:site_name\" content=\"ELB Solutions.com Inc.\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-03T00:22:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-03T17:24:27+00:00\" \/>\n<meta name=\"author\" content=\"Etienne Bley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Etienne Bley\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/\"},\"author\":{\"name\":\"Etienne Bley\",\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/#\\\/schema\\\/person\\\/51e717c68f4f5917c63baf88f0896c39\"},\"headline\":\"Custom Ribbon Via VBA\",\"datePublished\":\"2019-04-03T00:22:37+00:00\",\"dateModified\":\"2022-02-03T17:24:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/\"},\"wordCount\":69,\"articleSection\":[\"General\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/\",\"url\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/\",\"name\":\"Custom Ribbon Via VBA - ELB Solutions.com Inc.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/#website\"},\"datePublished\":\"2019-04-03T00:22:37+00:00\",\"dateModified\":\"2022-02-03T17:24:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/#\\\/schema\\\/person\\\/51e717c68f4f5917c63baf88f0896c39\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/custom-ribbon-via-vba\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Custom Ribbon Via VBA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/#website\",\"url\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/\",\"name\":\"ELB Solutions.com Inc.\",\"description\":\"Bringing all your IT Pieces together\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/#\\\/schema\\\/person\\\/51e717c68f4f5917c63baf88f0896c39\",\"name\":\"Etienne Bley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f8971dfb65b25b768415568f83247df4057f15d037137e386928a804e2c997b9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f8971dfb65b25b768415568f83247df4057f15d037137e386928a804e2c997b9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f8971dfb65b25b768415568f83247df4057f15d037137e386928a804e2c997b9?s=96&d=mm&r=g\",\"caption\":\"Etienne Bley\"},\"url\":\"https:\\\/\\\/elbsolutions.com\\\/projects\\\/author\\\/etienne-bley\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Custom Ribbon Via VBA - ELB Solutions.com Inc.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/","og_locale":"en_US","og_type":"article","og_title":"Custom Ribbon Via VBA - ELB Solutions.com Inc.","og_description":"Here&#8217;s a couple links that explain how to unzip and modify the OpenXML file hierarchy of .xlsx and .xlsm files and how to create custom ribbonUI. This should make it possible to access and modify the customUI ribbon via customXMLParts at runtime. Opening and modifying excel files as zips: https:\/\/www.jkp-ads.com\/articles\/excel2007fileformat02.asp VBA customUI editor: https:\/\/yoursumbuddy.com\/ribbon-customui-xml-editor\/","og_url":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/","og_site_name":"ELB Solutions.com Inc.","article_published_time":"2019-04-03T00:22:37+00:00","article_modified_time":"2022-02-03T17:24:27+00:00","author":"Etienne Bley","twitter_misc":{"Written by":"Etienne Bley"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/#article","isPartOf":{"@id":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/"},"author":{"name":"Etienne Bley","@id":"https:\/\/elbsolutions.com\/projects\/#\/schema\/person\/51e717c68f4f5917c63baf88f0896c39"},"headline":"Custom Ribbon Via VBA","datePublished":"2019-04-03T00:22:37+00:00","dateModified":"2022-02-03T17:24:27+00:00","mainEntityOfPage":{"@id":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/"},"wordCount":69,"articleSection":["General"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/","url":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/","name":"Custom Ribbon Via VBA - ELB Solutions.com Inc.","isPartOf":{"@id":"https:\/\/elbsolutions.com\/projects\/#website"},"datePublished":"2019-04-03T00:22:37+00:00","dateModified":"2022-02-03T17:24:27+00:00","author":{"@id":"https:\/\/elbsolutions.com\/projects\/#\/schema\/person\/51e717c68f4f5917c63baf88f0896c39"},"breadcrumb":{"@id":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/elbsolutions.com\/projects\/custom-ribbon-via-vba\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/elbsolutions.com\/projects\/"},{"@type":"ListItem","position":2,"name":"Custom Ribbon Via VBA"}]},{"@type":"WebSite","@id":"https:\/\/elbsolutions.com\/projects\/#website","url":"https:\/\/elbsolutions.com\/projects\/","name":"ELB Solutions.com Inc.","description":"Bringing all your IT Pieces together","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/elbsolutions.com\/projects\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/elbsolutions.com\/projects\/#\/schema\/person\/51e717c68f4f5917c63baf88f0896c39","name":"Etienne Bley","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f8971dfb65b25b768415568f83247df4057f15d037137e386928a804e2c997b9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f8971dfb65b25b768415568f83247df4057f15d037137e386928a804e2c997b9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8971dfb65b25b768415568f83247df4057f15d037137e386928a804e2c997b9?s=96&d=mm&r=g","caption":"Etienne Bley"},"url":"https:\/\/elbsolutions.com\/projects\/author\/etienne-bley\/"}]}},"_links":{"self":[{"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/posts\/2061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/comments?post=2061"}],"version-history":[{"count":1,"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/posts\/2061\/revisions"}],"predecessor-version":[{"id":2062,"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/posts\/2061\/revisions\/2062"}],"wp:attachment":[{"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/media?parent=2061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/categories?post=2061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elbsolutions.com\/projects\/wp-json\/wp\/v2\/tags?post=2061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}