Solved

Creating tables with alternating text in Word using Javascript

Posted on 2008-10-13
2
356 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 29

Accepted Solution

by:
Pravin Asar earned 200 total points
ID: 22944710
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Shortcuts in Word Just the other day I had a training for Microsoft and they wanted me to show how well the new Windows and Office behaved on a touch device, which by the way is great, but it was only then that I realized that using keyboard shortc…
This article describes how to use the Send to Mail Recipient command. The instructions apply generally to Office 2007 and later versions, but Microsoft® Word 2013 was used for the specific steps and figures.  What is Send to Mail Recipient? Send…
This video walks the viewer through the process of creating an MLA formatted document, as well as a bibliography with citations.
This video shows and describes the main difference between both orientations in Microsoft Word. Viewers will understand when to use each orientation and how to get the most out of them.
Suggested Courses

739 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