Solved

Creating tables with alternating text in Word using Javascript

Posted on 2008-10-13
2
365 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

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

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…
In this video, we show how to convert an image-only PDF file into a PDF Searchable Image file, that is, a file with both the image (typically from scanning) and text, which is created in an automated fashion with Optical Character Recognition (OCR) …
This video shows the viewer how to set up and create Footnotes in their document. Click on the References tab: Select "Insert Footnote": Type in desired text:
Suggested Courses

636 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