Created
April 20, 2023 08:21
-
-
Save jipyua/9a282f057818ac2fc8b6014d92bd31c0 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: Addin Field | |
description: Create a new snippet from a blank template. | |
host: WORD | |
api_set: {} | |
script: | |
content: | | |
$("#run").click(() => tryCatch(run)); | |
$("#run2").click(() => tryCatch(runHyperlink)); | |
async function run() { | |
await Word.run(async (context) => { | |
//const field = context.document.getSelection().insertField("Start", "Addin"); | |
// field.result.insertText("abc", "Start"); | |
//const field1 = context.document.getSelection().insertField("Start", Word.FieldType.hyperlink, '"(Grall & Finn, 2022)"'); | |
// field1.code = "ADDIN EN.CITE { ADDIN EN.CITE.DATA } { ADDIN EN.CITE.DATA }"; | |
//const field1 = context.document.getSelection().insertField("Start", "Quote", "\"(Grall & Finn, 2022)\""); | |
// field1.code = 'ADDIN EN.CITE <EndNote><Cite><Author>Grall</Author><Year>2022</Year><RecNum>78</RecNum><DisplayText>(Grall & Finn, 2022)</DisplayText><record><rec-number>78</rec-number><foreign-keys><key app="EN" db-id="sp090pdxq0zpese9ef7pe0vqv9a599drs5xs" timestamp="1647098641">78</key></foreign-keys><ref-type name="Journal Article">17</ref-type><contributors><authors><author>Grall, C.</author><author>Finn, E. S.</author></authors></contributors><auth-address>Dartmouth College, Hanover, NH 03755, USA.</auth-address><titles><title>Leveraging the Power of Media to Drive Cognition: A Media-Informed Approach to Naturalistic Neuroscience</title><secondary-title>Soc Cogn Affect Neurosci</secondary-title></titles><periodical><full-title>Soc Cogn Affect Neurosci</full-title></periodical><edition>20220308</edition><dates><year>2022</year><pub-dates><date>Mar 8</date></pub-dates></dates><isbn>1749-5024 (Electronic)
1749-5016 (Linking)</isbn><accession-num>35257180</accession-num><urls><related-urls><url>https://www.ncbi.nlm.nih.gov/pubmed/35257180</url></related-urls></urls><electronic-resource-num>10.1093/scan/nsac019</electronic-resource-num></record></Cite></EndNote>'; | |
//const field2 = context.document.getSelection().insertField("Start", "Quote", "\"(Abu-Shawareb et al., 2022)\""); | |
//field2.code = "ADDIN EN.CITE { ADDIN EN.CITE.DATA } { ADDIN EN.CITE.DATA }"; | |
const italicText = "Soc Cogn Affect Neurosci."; | |
const hyperlinkText = "https://doi.org/10.1093/scan/nsac019"; | |
const field3 = context.document | |
.getSelection() | |
.insertField( | |
Word.InsertLocation.start, | |
Word.FieldType.quote, | |
'"Grall, C., & Finn, E. S. (2022). Leveraging the power of media to drive cognition: a media-informed approach to naturalistic neuroscience. Soc Cogn Affect Neurosci. https://doi.org/10.1093/scan/nsac019"' | |
); | |
field3.code = "ADDIN EN.REFLIST"; | |
field3.result.search(italicText).getFirst().font.italic = true; | |
field3.result.search(hyperlinkText).getFirst().hyperlink = hyperlinkText; | |
field3.result.paragraphs.getFirst().firstLineIndent = -36; | |
field3.result.paragraphs.getFirst().leftIndent = 36; | |
await context.sync(); | |
}); | |
} | |
async function runHyperlink() { | |
await Word.run(async (context) => { | |
const italicText = "Soc Cogn Affect Neurosci."; | |
const hyperlinkText = "https://doi.org/10.1093/scan/nsac019"; | |
const field3 = context.document | |
.getSelection() | |
.insertField( | |
Word.InsertLocation.start, | |
Word.FieldType.hyperlink, | |
'"Grall, C., & Finn, E. S. (2022). Leveraging the power of media to drive cognition: a media-informed approach to naturalistic neuroscience. Soc Cogn Affect Neurosci. https://doi.org/10.1093/scan/nsac019"' | |
); | |
field3.code = "ADDIN EN.REFLIST"; | |
field3.result.font.color = "black"; | |
field3.result.font.underline = Word.UnderlineType.none; | |
field3.result.hyperlink = ""; | |
field3.result.search(italicText).getFirst().font.italic = true; | |
field3.result.search(hyperlinkText).getFirst().hyperlink = hyperlinkText; | |
field3.result.paragraphs.getFirst().firstLineIndent = -36; | |
field3.result.paragraphs.getFirst().leftIndent = 36; | |
await context.sync(); | |
}); | |
} | |
async function run2() { | |
await Word.run(async (context) => { | |
const fields = context.document.body.fields.getFirst(); | |
fields.result.insertText("abc", "Replace"); | |
//field.data = "abc"; | |
//field.result.insertText("123", "Start"); | |
//field.code = "ADDIN EN.CITE"; | |
//field.data = "abc"; | |
//field.result.insertText("abc", "After/End"); | |
fields.load(); | |
await context.sync(); | |
//console.log(fields.items.length); | |
}); | |
} | |
/** 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="run" class="ms-Button"> | |
<span class="ms-Button-label">Run</span> | |
</button> | |
<button id="run2" class="ms-Button"> | |
<span class="ms-Button-label">Run2</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-preview | |
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 | |
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