Skip to content

Commit f20c2c8

Browse files
[Word] (windows, panes) Add how to access collections (#1003)
1 parent 6e50798 commit f20c2c8

File tree

3 files changed

+104
-32
lines changed

3 files changed

+104
-32
lines changed

samples/word/35-ranges/get-pages.yaml

Lines changed: 49 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,15 @@ api_set:
99
script:
1010
content: |
1111
document.getElementById("get-pages-selected-range").addEventListener("click", () => tryCatch(getPagesOfSelectedRange));
12-
document.getElementById("get-pages-third-paragraph").addEventListener("click", () => tryCatch(getPagesOfThirdParagraph));
13-
document.getElementById("get-pages-enclosing-viewport").addEventListener("click", () => tryCatch(getPagesEnclosingViewport));
12+
document
13+
.getElementById("get-pages-third-paragraph")
14+
.addEventListener("click", () => tryCatch(getPagesOfThirdParagraph));
15+
document
16+
.getElementById("get-pages-enclosing-viewport")
17+
.addEventListener("click", () => tryCatch(getPagesEnclosingViewport));
1418
document.getElementById("get-all-pages").addEventListener("click", () => tryCatch(getAllPages));
19+
document.getElementById("get-all-panes").addEventListener("click", () => tryCatch(getAllPanes));
20+
document.getElementById("get-all-windows").addEventListener("click", () => tryCatch(getAllWindows));
1521
document.getElementById("setup").addEventListener("click", () => tryCatch(setup));
1622
1723
async function getPagesOfSelectedRange() {
@@ -27,11 +33,11 @@ script:
2733
const pagesText = [];
2834
for (let i = 0; i < pages.items.length; i++) {
2935
const page = pages.items[i];
30-
page.load('index');
36+
page.load("index");
3137
pagesIndexes.push(page);
3238
3339
const range = page.getRange();
34-
range.load('text');
40+
range.load("text");
3541
pagesText.push(range);
3642
}
3743
@@ -63,11 +69,11 @@ script:
6369
const pagesText = [];
6470
for (let i = 0; i < pages.items.length; i++) {
6571
const page = pages.items[i];
66-
page.load('index');
72+
page.load("index");
6773
pagesIndexes.push(page);
6874
6975
const range = page.getRange();
70-
range.load('text');
76+
range.load("text");
7177
pagesText.push(range);
7278
}
7379
@@ -106,7 +112,7 @@ script:
106112
const pagesIndexes = [];
107113
for (let i = 0; i < pageCount; i++) {
108114
const page = pages.items[i];
109-
page.load('index');
115+
page.load("index");
110116
pagesIndexes.push(page);
111117
}
112118
@@ -143,15 +149,15 @@ script:
143149
const pagesFirstParagraphText = [];
144150
for (let i = 0; i < pages.items.length; i++) {
145151
const page = pages.items[i];
146-
page.load('index');
152+
page.load("index");
147153
pagesIndexes.push(page);
148154
149155
const paragraphs = page.getRange().paragraphs;
150-
paragraphs.load('items/length');
156+
paragraphs.load("items/length");
151157
pagesNumberOfParagraphs.push(paragraphs);
152158
153159
const firstParagraph = paragraphs.getFirst();
154-
firstParagraph.load('text');
160+
firstParagraph.load("text");
155161
pagesFirstParagraphText.push(firstParagraph);
156162
}
157163
@@ -165,6 +171,33 @@ script:
165171
});
166172
}
167173
174+
async function getAllPanes() {
175+
await Word.run(async (context) => {
176+
// Gets all the panes in the active document window.
177+
178+
// Get the active window.
179+
const activeWindow: Word.Window = context.document.activeWindow;
180+
activeWindow.load("panes/items/length");
181+
182+
await context.sync();
183+
184+
const panes: Word.PaneCollection = activeWindow.panes;
185+
console.log(`Number of panes in the current document window: ${panes.items.length}`);
186+
});
187+
}
188+
189+
async function getAllWindows() {
190+
await Word.run(async (context) => {
191+
// Gets the document windows.
192+
const windows: Word.WindowCollection = context.document.windows;
193+
windows.load("windows/items/length");
194+
195+
await context.sync();
196+
197+
console.log(`Number of windows for this document: ${windows.items.length}`);
198+
});
199+
}
200+
168201
async function setup() {
169202
await Word.run(async (context) => {
170203
const body: Word.Body = context.document.body;
@@ -226,6 +259,12 @@ template:
226259
<button id="get-all-pages" class="ms-Button">
227260
<span class="ms-Button-label">Get all pages</span>
228261
</button>
262+
<button id="get-all-panes" class="ms-Button">
263+
<span class="ms-Button-label">Get all panes</span>
264+
</button>
265+
<button id="get-all-windows" class="ms-Button">
266+
<span class="ms-Button-label">Get all windows</span>
267+
</button>
229268
</section>
230269
language: html
231270
style:
88 Bytes
Binary file not shown.

snippet-extractor-output/snippets.yaml

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23972,15 +23972,15 @@ Word.Document#activeWindow:member:
2397223972
const pagesFirstParagraphText = [];
2397323973
for (let i = 0; i < pages.items.length; i++) {
2397423974
const page = pages.items[i];
23975-
page.load('index');
23975+
page.load("index");
2397623976
pagesIndexes.push(page);
2397723977

2397823978
const paragraphs = page.getRange().paragraphs;
23979-
paragraphs.load('items/length');
23979+
paragraphs.load("items/length");
2398023980
pagesNumberOfParagraphs.push(paragraphs);
2398123981

2398223982
const firstParagraph = paragraphs.getFirst();
23983-
firstParagraph.load('text');
23983+
firstParagraph.load("text");
2398423984
pagesFirstParagraphText.push(firstParagraph);
2398523985
}
2398623986

@@ -25975,11 +25975,11 @@ Word.Page:class:
2597525975
const pagesText = [];
2597625976
for (let i = 0; i < pages.items.length; i++) {
2597725977
const page = pages.items[i];
25978-
page.load('index');
25978+
page.load("index");
2597925979
pagesIndexes.push(page);
2598025980

2598125981
const range = page.getRange();
25982-
range.load('text');
25982+
range.load("text");
2598325983
pagesText.push(range);
2598425984
}
2598525985

@@ -26008,11 +26008,11 @@ Word.Page#getRange:member(1):
2600826008
const pagesText = [];
2600926009
for (let i = 0; i < pages.items.length; i++) {
2601026010
const page = pages.items[i];
26011-
page.load('index');
26011+
page.load("index");
2601226012
pagesIndexes.push(page);
2601326013

2601426014
const range = page.getRange();
26015-
range.load('text');
26015+
range.load("text");
2601626016
pagesText.push(range);
2601726017
}
2601826018

@@ -26047,11 +26047,11 @@ Word.Page#index:member:
2604726047
const pagesText = [];
2604826048
for (let i = 0; i < pages.items.length; i++) {
2604926049
const page = pages.items[i];
26050-
page.load('index');
26050+
page.load("index");
2605126051
pagesIndexes.push(page);
2605226052

2605326053
const range = page.getRange();
26054-
range.load('text');
26054+
range.load("text");
2605526055
pagesText.push(range);
2605626056
}
2605726057

@@ -26080,11 +26080,11 @@ Word.PageCollection:class:
2608026080
const pagesText = [];
2608126081
for (let i = 0; i < pages.items.length; i++) {
2608226082
const page = pages.items[i];
26083-
page.load('index');
26083+
page.load("index");
2608426084
pagesIndexes.push(page);
2608526085

2608626086
const range = page.getRange();
26087-
range.load('text');
26087+
range.load("text");
2608826088
pagesText.push(range);
2608926089
}
2609026090

@@ -26125,15 +26125,15 @@ Word.Pane:class:
2612526125
const pagesFirstParagraphText = [];
2612626126
for (let i = 0; i < pages.items.length; i++) {
2612726127
const page = pages.items[i];
26128-
page.load('index');
26128+
page.load("index");
2612926129
pagesIndexes.push(page);
2613026130

2613126131
const paragraphs = page.getRange().paragraphs;
26132-
paragraphs.load('items/length');
26132+
paragraphs.load("items/length");
2613326133
pagesNumberOfParagraphs.push(paragraphs);
2613426134

2613526135
const firstParagraph = paragraphs.getFirst();
26136-
firstParagraph.load('text');
26136+
firstParagraph.load("text");
2613726137
pagesFirstParagraphText.push(firstParagraph);
2613826138
}
2613926139

@@ -26175,15 +26175,15 @@ Word.Pane#pages:member:
2617526175
const pagesFirstParagraphText = [];
2617626176
for (let i = 0; i < pages.items.length; i++) {
2617726177
const page = pages.items[i];
26178-
page.load('index');
26178+
page.load("index");
2617926179
pagesIndexes.push(page);
2618026180

2618126181
const paragraphs = page.getRange().paragraphs;
26182-
paragraphs.load('items/length');
26182+
paragraphs.load("items/length");
2618326183
pagesNumberOfParagraphs.push(paragraphs);
2618426184

2618526185
const firstParagraph = paragraphs.getFirst();
26186-
firstParagraph.load('text');
26186+
firstParagraph.load("text");
2618726187
pagesFirstParagraphText.push(firstParagraph);
2618826188
}
2618926189

@@ -26226,7 +26226,7 @@ Word.Pane#pagesEnclosingViewport:member:
2622626226
const pagesIndexes = [];
2622726227
for (let i = 0; i < pageCount; i++) {
2622826228
const page = pages.items[i];
26229-
page.load('index');
26229+
page.load("index");
2623026230
pagesIndexes.push(page);
2623126231
}
2623226232

@@ -26236,6 +26236,24 @@ Word.Pane#pagesEnclosingViewport:member:
2623626236
console.log(`Page index: ${pagesIndexes[i].index}`);
2623726237
}
2623826238
});
26239+
Word.PaneCollection:class:
26240+
- >-
26241+
// Link to full sample:
26242+
https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/get-pages.yaml
26243+
26244+
26245+
await Word.run(async (context) => {
26246+
// Gets all the panes in the active document window.
26247+
26248+
// Get the active window.
26249+
const activeWindow: Word.Window = context.document.activeWindow;
26250+
activeWindow.load("panes/items/length");
26251+
26252+
await context.sync();
26253+
26254+
const panes: Word.PaneCollection = activeWindow.panes;
26255+
console.log(`Number of panes in the current document window: ${panes.items.length}`);
26256+
});
2623926257
Word.Paragraph:class:
2624026258
- >-
2624126259
// Link to full sample:
@@ -28985,15 +29003,15 @@ Word.Window:class:
2898529003
const pagesFirstParagraphText = [];
2898629004
for (let i = 0; i < pages.items.length; i++) {
2898729005
const page = pages.items[i];
28988-
page.load('index');
29006+
page.load("index");
2898929007
pagesIndexes.push(page);
2899029008

2899129009
const paragraphs = page.getRange().paragraphs;
28992-
paragraphs.load('items/length');
29010+
paragraphs.load("items/length");
2899329011
pagesNumberOfParagraphs.push(paragraphs);
2899429012

2899529013
const firstParagraph = paragraphs.getFirst();
28996-
firstParagraph.load('text');
29014+
firstParagraph.load("text");
2899729015
pagesFirstParagraphText.push(firstParagraph);
2899829016
}
2899929017

@@ -29036,7 +29054,7 @@ Word.Window#activePane:member:
2903629054
const pagesIndexes = [];
2903729055
for (let i = 0; i < pageCount; i++) {
2903829056
const page = pages.items[i];
29039-
page.load('index');
29057+
page.load("index");
2904029058
pagesIndexes.push(page);
2904129059
}
2904229060

@@ -29046,3 +29064,18 @@ Word.Window#activePane:member:
2904629064
console.log(`Page index: ${pagesIndexes[i].index}`);
2904729065
}
2904829066
});
29067+
Word.WindowCollection:class:
29068+
- >-
29069+
// Link to full sample:
29070+
https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/get-pages.yaml
29071+
29072+
29073+
await Word.run(async (context) => {
29074+
// Gets the document windows.
29075+
const windows: Word.WindowCollection = context.document.windows;
29076+
windows.load("windows/items/length");
29077+
29078+
await context.sync();
29079+
29080+
console.log(`Number of windows for this document: ${windows.items.length}`);
29081+
});

0 commit comments

Comments
 (0)