Kevin Lindmark
Kevin Lindmark

Reputation: 1267

Insert a line break with inserted text in a Word document

Building a word add-in using javascript (office.js) to insert text. So far unformatted text with .insertText. If I would like to insert the below, which function should be used?

Code:

results.items[i].insertText("Any text going here.", "replace");

How would I for instance insert a line break in the "Any text going here"?

Upvotes: 2

Views: 2815

Answers (3)

Sagar Mistry
Sagar Mistry

Reputation: 131

Try this:

results.items[i].insertBreak(Word.BreakType.line,Word.InsertLocation.after);   
results.items[i].insertText("Any text going here.", Word.InsertLocation.replace);

Upvotes: 0

Mr.Hunt
Mr.Hunt

Reputation: 4851

  • Use insertBreak for inserting breaks of different types. It could be line break, paragraph break, section break etc.
insertBreak(breakType: Word.BreakType, insertLocation: Word.InsertLocation): void;
startNewList(): Word.List;

List example

//This example starts a new list stating with the second paragraph.
await Word.run(async (context) => {
    let paragraphs = context.document.body.paragraphs;
    paragraphs.load("$none"); //We need no properties.

    await context.sync();

    var list = paragraphs.items[1].startNewList(); //Indicates new list to be started in the second paragraph.
    list.load("$none"); //We need no properties.

    await context.sync();

    //To add new items to the list use start/end on the insert location parameter.
    list.insertParagraph('New list item on top of the list', 'Start');
    let paragraph = list.insertParagraph('New list item at the end of the list (4th level)', 'End');
    paragraph.listItem.level = 4; //Sets up list level for the lsit item.
    //To add paragraphs outside the list use before/after:
    list.insertParagraph('New paragraph goes after (not part of the list)', 'After');

    await context.sync();
});
  • For formatting text, you can get hints by looking at examples here which set Font family and color of text.
//adding formatting like html style
var blankParagraph = context.document.body.paragraphs.getLast().insertParagraph("", "After");
blankParagraph.insertHtml('<p style="font-family: verdana;">Inserted HTML.</p><p>Another paragraph</p>', "End");
// another example using modern Change the font color
// Run a batch operation against the Word object model.
Word.run(function (context) {

    // Create a range proxy object for the current selection.
    var selection = context.document.getSelection();

    // Queue a commmand to change the font color of the current selection.
    selection.font.color = 'blue';

    // Synchronize the document state by executing the queued commands,
    // and return a promise to indicate task completion.
    return context.sync().then(function () {
        console.log('The font color of the selection has been changed.');
    });
})
.catch(function (error) {
    console.log('Error: ' + JSON.stringify(error));
    if (error instanceof OfficeExtension.Error) {
        console.log('Debug info: ' + JSON.stringify(error.debugInfo));
    }
});

The Word addin tutorial has a lot of nifty tricks for common tasks with code samples.

Upvotes: 3

Cindy Meister
Cindy Meister

Reputation: 25693

Using JavaScript, add a "line-break" (I'm assuming you mean the same as pressing ENTER in the UI - this is technically a new paragraph) using the string "\n". So, for example:

results.items[i].insertText("Any text going here.\n", "replace");

Upvotes: 2

Related Questions