<HTML>
    <HEAD>
        <title>WEB页面导出为Word文档的方法 </title>
    </HEAD>
    <SCRIPT LANGUAGE="javascript">
        function AllAreaWord(){
            var oWD = new ActiveXObject("Word.Application");
            //默认为页面视图
            var oDC = oWD.Documents.Add("", 0, 0);
            var oRange = oDC.Range(0, 1);
            //var oRange1 = oDC.Range(0,2);
            var sel = document.body.createTextRange();
            //参数为html元素id 
            sel.moveToElementText(test);
            sel.select();
            sel.execCommand("Copy");
            oRange.Paste();
            oWD.Application.Visible = true;
            var selection = oWD.Selection;
            selection.Font.Size = 10;
            selection.WholeStory();
            selection.Find.ClearFormatting();
            selection.Find.Text = "q";
            //^%为分页符标记
            selection.Find.Replacement.Text = "^%";
            selection.Find.Forward = true;
            selection.Find.Wrap = 1;
            selection.Find.MatchCase = false;
            selection.Find.MatchWholeWord = false;
            selection.Find.Execute().Replace = 2;
        }
    </SCRIPT>
    <body>
        <BR>
        <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
            <TR style="text-align   :   center;">
                <TD>
                    单元格A
                </TD>
                <TD>
                    单元格A
                </TD>
                <TD>
                    单元格A
                </TD>
                <TD>
                    单元格A
                </TD>
            </TR>
            <TR>
                <TD colSpan=4 style="text-align   :   center;">
                    <font color="BLUE" face="Verdana">
                    单元格合并行A
                    </FONT>
                </TD>
            </TR>
        </TABLE>
        <div id="test">
            aaaaaaaaaaaaaaaaaaa
            a
q
            aaaaaaaaqaaaaaaaaaaa
            q
            aaaaaaaaaaaaaaaaaaa
            q
            aaaaaaaaaaqaaaaaaaaa
        </div>
        <div id="test1">
            bbbbbbbbbbbbbbb
        </div>
        <input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word" ID=Button1>
    </body>
</html>我的实现思路是这样的,导出为word后查找到 "q",替换为分页符,
但是好像不起作用.
selection.Find.Execute().Replace = 2;
这个方法我不知道对不对,我是录制完宏后对照着写的.这个替换功能在
javascript怎么写啊.
下面是我录制的宏命令:Sub Macro1()
'
' Macro1 Macro
' 宏在 2008-7-9 由 Administrators 录制
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "q"
        .Replacement.Text = "^m"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub急啊.项目中需要的,或者哪位高手有更好的分页思路方法.刚开始我想把网页的内容分次复制到不同的word页中.可是试了半天不行啊.

解决方案 »

  1.   

    sorry,刚开始没找到插入源码选项:<HTML> 
        <HEAD> 
            <title>WEB页面导出为Word文档的方法 </title> 
        </HEAD> 
        <SCRIPT LANGUAGE="javascript"> 
            function AllAreaWord(){ 
                var oWD = new ActiveXObject("Word.Application"); 
                //默认为页面视图 
                var oDC = oWD.Documents.Add("", 0, 0); 
                var oRange = oDC.Range(0, 1); 
                //var oRange1 = oDC.Range(0,2); 
                var sel = document.body.createTextRange(); 
                //参数为html元素id 
                sel.moveToElementText(test); 
                sel.select(); 
                sel.execCommand("Copy"); 
                oRange.Paste(); 
                oWD.Application.Visible = true; 
                var selection = oWD.Selection; 
                selection.Font.Size = 10; 
                selection.WholeStory(); 
                selection.Find.ClearFormatting(); 
                selection.Find.Text = "q"; 
                //^%为分页符标记 
                selection.Find.Replacement.Text = "^%"; 
                selection.Find.Forward = true; 
                selection.Find.Wrap = 1; 
                selection.Find.MatchCase = false; 
                selection.Find.MatchWholeWord = false; 
                selection.Find.Execute().Replace = 2; 
            } 
        </SCRIPT> 
        <body> 
            <BR> 
            <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13"> 
                <TR style="text-align  :  center;"> 
                    <TD> 
                        单元格A 
                    </TD> 
                    <TD> 
                        单元格A 
                    </TD> 
                    <TD> 
                        单元格A 
                    </TD> 
                    <TD> 
                        单元格A 
                    </TD> 
                </TR> 
                <TR> 
                    <TD colSpan=4 style="text-align  :  center;"> 
                        <font color="BLUE" face="Verdana"> 
                        单元格合并行A 
                        </FONT> 
                    </TD> 
                </TR> 
            </TABLE> 
            <div id="test"> 
                aaaaaaaaaaaaaaaaaaa 
                a 

                aaaaaaaaqaaaaaaaaaaa 
                q 
                aaaaaaaaaaaaaaaaaaa 
                q 
                aaaaaaaaaaqaaaaaaaaa 
            </div> 
            <div id="test1"> 
                bbbbbbbbbbbbbbb 
            </div> 
            <input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word" ID=Button1> 
        </body> 
    </html> 我的实现思路是这样的,导出为word后查找到 "q",替换为分页符, 
    但是好像不起作用. 
    selection.Find.Execute().Replace = 2; 
    这个方法我不知道对不对,我是录制完宏后对照着写的.这个替换功能在 
    javascript怎么写啊. 
    下面是我录制的宏命令: Sub Macro1() 

    ' Macro1 Macro 
    ' 宏在 2008-7-9 由 Administrators 录制 

        Selection.Find.ClearFormatting 
        Selection.Find.Replacement.ClearFormatting 
        With Selection.Find 
            .Text = "q" 
            .Replacement.Text = "^m" 
            .Forward = True 
            .Wrap = wdFindContinue 
            .Format = False 
            .MatchCase = False 
            .MatchWholeWord = False 
            .MatchByte = True 
            .MatchWildcards = False 
            .MatchSoundsLike = False 
            .MatchAllWordForms = False 
        End With 
        Selection.Find.Execute Replace:=wdReplaceAll 
    End Sub 
    急啊.项目中需要的,或者哪位高手有更好的分页思路方法. 刚开始我想把网页的内容分次复制到不同的word页中.可是试了半天不行啊.