о-первых, изменил CLSID на 00020812-0000-0000-C000-000000000046 - соответствующий Excel2003 (он у меня и установлен).
Во-вторых, установил http://www.iol.ie/~locka/mozilla/plugin.htm#download. Но это как я понял можно было и не делать.
Код теперь выглядит так:
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if (window.GeckoActiveXObject){
var oXL=new GeckoActiveXObject("{00020812-0000-0000-C000-000000000046}");
alert (oXL);
}
if(oXL){
oXL.Visible = true;
var oWB = oXL.Workbooks.Add();
var oS = oWB.ActiveSheet;
}
http://www.sql.ru/forum/actualthread.aspx?tid=341041
<html>
<head>
<title>Test M$ Word</title>
<script type="text/javascript">
<!--
function TestCOM()
{
var
oFS=null,
SignatureDoc="E:\\Soft.src\\JavaScript\\Test\\COM\\Word_tst.doc",
OutputDoc="E:\\Soft.src\\JavaScript\\Test\\COM\\Word_out.doc",
MSWordExists,
OpenOfficeOrgExists,
MSWord=null,
Document=null,
Bookmarks=null,
wdGoToBookmark=-1, // 0xFFFFFFFF
wdGoToFirst=1,
wdGoToAbsolute=1,
BookmarkName="MyBookmark",
TEST_BOOKMARK_BY_BOOKMARKS_COLLECTION=false,
Bookmark;
if(!(oFS=new ActiveXObject("Scripting.FileSystemObject")))
{
alert("!Scripting.FileSystemObject");
return;
}
if(!oFS.FileExists(SignatureDoc))
{
alert("!FileExists");
return;
}
try
{
MSWord=new ActiveXObject("com.sun.star.ServiceManager");
OpenOfficeOrgExists=true;
}
catch(Exception)
{
alert(Exception.name+": "+Exception.message);
alert(MSWord);
OpenOfficeOrgExists=false;
}
MSWord=null;
//alert(1);
//MSWord=GetObject("e:\\Test1.doc","Word.Application");
//alert(2);
//
// PRB: Cannot Call GetObject from Script in IE to Access Running Object
// http://support.microsoft.com/kb/q239470/
//
if(!MSWord)
{
try
{
MSWord=new ActiveXObject("Word.Application");
MSWordExists=true;
}
catch(Exception)
{
alert(Exception.name+": "+Exception.message);
MSWordExists=false;
}
}
if(!MSWord)
{
alert("!Word.Application");
return;
}
MSWord.Visible=true;
if(!(Document=MSWord.Documents.Open(SignatureDoc)))
{
alert("!Document");
return;
}
Document.PageSetup.TopMargin=MSWord.CentimetersToPoints(10);
if(!(Bookmarks=Document.Bookmarks))
{
alert("!Bookmarks");
return;
}
//alert("Bookmarks.Count="+Bookmarks.Count);
if(Bookmarks.Exists(BookmarkName))
{
if(TEST_BOOKMARK_BY_BOOKMARKS_COLLECTION)
{
Bookmark=Bookmarks.Item(BookmarkName);
// ||
//Bookmark=Bookmarks.Item(1);
Bookmark.Select();
}
else
{
MSWord.Selection.GoTo(/*What*/ wdGoToBookmark, /*Which*/ 0 /*wdGoToFirst*/, /*Count*/ 0, /*Name*/ BookmarkName);
}
MSWord.Selection.TypeText("1234567890");
}
MSWord.ActiveDocument.SaveAs(OutputDoc);
MSWord.ActiveDocument.PrintOut(false,0,0,"","","",0,3);
MSWord.ActiveDocument.Close();
MSWord.Quit();
alert("oB!!!");
}
// -->
</script>
</head>
<body onload="TestCOM()">
</body>
http://social.msdn.microsoft.com/Forums/en-US/netfxjscript/thread/3a3f7161-3581-47d1-a79c-98c0351ece38
</html>
Комментариев нет:
Отправить комментарий