Forked from jiju-MS/Group&UnGroup (1).EXCEL.yaml
Last active
September 26, 2019 12:09
-
-
Save barhoring/6ffdb514343e58986075095cae6f730c to your computer and use it in GitHub Desktop.
Create a new snippet from a blank template.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Group_UnGroup_Outline | |
description: Playing with Excel API. | |
host: EXCEL | |
api_set: {} | |
script: | |
content: | | |
$("#groupRow").click(() => tryCatch(groupRow)); | |
$("#groupCol").click(() => tryCatch(groupCol)); | |
$("#ungroupRow").click(() => tryCatch(ungroupRow)); | |
$("#ungroupCol").click(() => tryCatch(ungroupCol)); | |
$("#showDetailsRow").click(() => tryCatch(showDetailsRow)); | |
$("#showDetailsCol").click(() => tryCatch(showDetailsCol)); | |
$("#hideDetailsRow").click(() => tryCatch(hideDetailsRow)); | |
$("#hideDetailsCol").click(() => tryCatch(hideDetailsCol)); | |
async function groupRow() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.group("ByRows"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function groupCol() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.group("ByColumns"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function ungroupRow() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.ungroup("ByRows"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function ungroupCol() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.ungroup("ByColumns"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function ungroupRow() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.ungroup("ByRows"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function showDetailsRow() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.showGroupDetails("ByRows"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function showDetailsCol() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.showGroupDetails("ByColumns"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function hideDetailsRow() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.hideGroupDetails("ByRows"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function hideDetailsCol() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
var range = context.workbook.getSelectedRange(); | |
range.hideGroupDetails("ByColumns"); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
async function expandCollapseByIndex() { | |
await Excel.run(async (context) => { | |
const sheet = context.workbook.worksheets.getActiveWorksheet(); | |
sheet.expandCollapseRowByIndex(2, 5); | |
// ol.load(); | |
console.log("Your code goes here"); | |
await context.sync(); | |
}); | |
} | |
/** Default helper for invoking an action and handling errors. */ | |
async function tryCatch(callback) { | |
try { | |
await callback(); | |
} catch (error) { | |
// Note: In a production add-in, you'd want to notify the user through your add-in's UI. | |
console.error(error); | |
} | |
} | |
language: typescript | |
template: | |
content: |- | |
<button id="groupRow" class="ms-Button"> | |
<span class="ms-Button-label">Group Rows</span> | |
</button> | |
<button id="groupCol" class="ms-Button"> | |
<span class="ms-Button-label">Group Column</span> | |
</button> | |
<button id="ungroupRow" class="ms-Button"> | |
<span class="ms-Button-label">Ungroup Rows</span> | |
</button> | |
<button id="ungroupCol" class="ms-Button"> | |
<span class="ms-Button-label">Ungroup Columns</span> | |
</button> | |
<button id="showDetailsRow" class="ms-Button"> | |
<span class="ms-Button-label">Show Details Row</span> | |
</button> | |
<button id="showDetailsCol" class="ms-Button"> | |
<span class="ms-Button-label">Show Details Col</span> | |
</button> | |
<button id="hideDetailsRow" class="ms-Button"> | |
<span class="ms-Button-label">Hide Details Row</span> | |
</button> | |
<button id="hideDetailsCol" class="ms-Button"> | |
<span class="ms-Button-label">Hide Details Column</span> | |
</button> | |
language: html | |
style: | |
content: |- | |
section.samples { | |
margin-top: 20px; | |
} | |
section.samples .ms-Button, section.setup .ms-Button { | |
display: block; | |
margin-bottom: 5px; | |
margin-left: 20px; | |
min-width: 80px; | |
} | |
language: css | |
libraries: | | |
https://appsforoffice.microsoft.com/lib/beta/hosted/office.js | |
@types/office-js | |
office-ui-fabric-js@1.4.0/dist/css/fabric.min.css | |
office-ui-fabric-js@1.4.0/dist/css/fabric.components.min.css | |
core-js@2.4.1/client/core.min.js | |
@types/core-js | |
@microsoft/office-js-helpers@0.7.4/dist/office.helpers.min.js | |
@microsoft/office-js-helpers@0.7.4/dist/office.helpers.d.ts | |
jquery@3.1.1 | |
@types/jquery@3.3.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Instructions:
Add the Script Lab add-in:
Go to Add-ins under Insert tab. Search for Script Lab and add it
Click the Script Lab tab, and click Code
Click Import and attach the link to this gist
Click run