Solved

Creating tables with alternating text in Word using Javascript

Posted on 2008-10-13
2
336 Views
Last Modified: 2012-06-27
I am trying to create a MS Word doc with Javascript. I have had some success with being able to either create the table or the text and populate the table cells with values. When I try to alternate a table then text then another table, the text ends up in the first cell of the first table. This is run from an IE browser.
What am I missing?

function fnCreateWord() {

	var objWord = new ActiveXObject("Word.Application");

	objWord.Caption = "Test";
 

	objDoc = objWord.Documents.Add()

	objWord.Application.Visible = true;

	objSelection = objWord.Selection;

	

	var tbl = objDoc.Tables.Add(objWord.Selection.Range,4,3);
 

// The following is placed properly into the second cell and second column. 	

	var cCell = tbl.cell(2,2).range;

	tbl.cell(2,2).Column.Width = 100;

	cCell.Font.Bold = true;

	cCell.Font.Size = "18";

	cCell.text =  "ZZZZZZZZZZZZ";
 

// The following ends up in first row and the first column of tbl. It needs to be after the table. 

	objSelection.Font.Name = "Arial";

	objSelection.Font.Size = "18";

	objSelection.TypeText("AAAAAAAAAAAAAA");

	objSelection.TypeParagraph();
 

	objSelection.Font.Size = "14";

	objSelection.TypeText("" + Date() );

	objSelection.TypeParagraph();

	objSelection.TypeParagraph();

// There needs to be another table inserted here with more text following. 

}

Open in new window

0
Comment
Question by:HarleyInDTX
2 Comments
 
LVL 28

Accepted Solution

by:
Pravin Asar earned 200 total points
Comment Utility
Here is a complete solution.

Please try it with IE browser

<html>

<head>

<title>Create Word Document/Page Title</title>

<style type="text/css">

</style>

<script language="javascript">

var EndOfStory =6;
 

function fnCreateWord() {

        var objWord = new ActiveXObject("Word.Application");

        objWord.Caption = "Test";

 

        objDoc = objWord.Documents.Add()

        objWord.Application.Visible = true;
 

        objSelection = objWord.Selection;

        var paragraph = objDoc.Paragraphs.Add();
 

        // Text Before Table 1

        paragraph.Range.Text = "Table 1";

 		objSelection.EndKey(EndOfStory);

        objSelection.TypeParagraph();

        objSelection.TypeParagraph();
 

        // Table 1

        objSelection = objWord.Selection;        

        var tbl1 = objDoc.Tables.Add(objSelection.Range,3,3);

	    var objTable = tbl1;
 

		objTable.Cell(1, 1).Range.Text = "Row 1, Column 1";

		objTable.Cell(1, 2).Range.Text = "Row 1, Column 2";

		objTable.Cell(1, 3).Range.Text = "Row 1, Column 3";

 		objSelection.EndKey(EndOfStory);

		objSelection.TypeParagraph();
 

        // Some Text 

		objSelection.TypeParagraph();

		objSelection.TypeParagraph();

        objSelection.Text = "My Text";

 		objSelection.EndKey(EndOfStory);

		objSelection.TypeParagraph();

		objSelection.TypeParagraph();
 

        // Text Before Table 2

        objSelection = objWord.Selection;

        var paragraph = objDoc.Paragraphs.Add();

        paragraph.Range.Text = "Table 2";

 		objSelection.EndKey(EndOfStory);

        objSelection.TypeParagraph();
 

        // Table 2
 

        objSelection = objWord.Selection;

        objSelection.TypeParagraph();

        var tbl2 = objDoc.Tables.Add(objSelection.Range,3,3);

	    
 

		tbl2.Cell(1, 1).Range.Text = "Table 2 Row 1, Column 1";

		tbl2.Cell(1, 2).Range.Text = "Table 2 Row 1, Column 2";

		tbl2.Cell(1, 3).Range.Text = "Table 2 Row 1, Column 3";

        objSelection.EndKey (EndOfStory);

        objSelection.TypeParagraph();

}

</script>

</head>

<body onload="fnCreateWord();">

</body>

</html>

Open in new window

0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Using Word 2013, I was experiencing some incredible lag when typing.  Here's what worked for me....
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
This video teaches the viewer how to align pictures around text while keeping the text properly aligned in the document.
This video walks the viewer through the process of creating an MLA formatted document, as well as a bibliography with citations.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now