代码之家  ›  专栏  ›  技术社区  ›  M Junaid

如何使用javascript办公api将html插入到word插件中我的光标所在的位置?

  •  2
  • M Junaid  · 技术社区  · 3 年前

    使用这个,我正在用html插入2列表。使用“Word.InterLocation.end”,这是将html插入到我想要的末尾,我的光标单击了在该位置插入html。

    async function Insert2ColumnTable() {
        try {
            await Word.run(async (context) => {
                const range = context.document.getSelection();
                const contentControl = range.insertContentControl();
                contentControl.tag = "my-custom-tag";
                // Set the appearance of the content control to "Hidden"
                contentControl.appearance = Word.ContentControlAppearance.hidden;
                contentControl.insertHtml(
                    ` <table style="width: 100%;border-collapse:collapse;border:none;">
                        <tbody>
                            <tr>
                                 <td style="width: 50%;border-top: 1pt solid black;border-right: 1pt solid black;border-bottom: 1pt solid black;border-image: initial;border-left: 1pt solid black;padding: 0in 5.4pt;vertical-align: top;">
                                    <p style='margin:0in;text-align:center;font-size:16px;font-family:"Calibri",sans-serif;color:black;font-weight:bold;'>&nbsp;</p>
                                </td>
                                <td style="width: 50%;border-top: 1pt solid black;border-right: 1pt solid black;border-bottom: 1pt solid black;border-image: initial;1pt solid black;padding: 0in 5.4pt;vertical-align: top;">
                                    <p style='margin:0in;text-align:center;font-size:16px;font-family:"Calibri",sans-serif;color:black;font-weight:bold;'>&nbsp;</p>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                    `,
                    Word.InsertLocation.end
                );
                await context.sync();
            });
            
        } catch (error) {
            console.error(error);
        }
    
    };
    1 回复  |  直到 3 年前
        1
  •  2
  •   Hamza Azhar    3 年前

    只使用这个“Word.InterLocation.replace”它的工作。

    async function Insert2ColumnTable() {
        try {
            await Word.run(async (context) => {
                const range = context.document.getSelection();
                const contentControl = range.insertContentControl();
                contentControl.tag = "my-custom-tag";
                // Set the appearance of the content control to "Hidden"
                contentControl.appearance = Word.ContentControlAppearance.hidden;
                contentControl.insertHtml(
                    ` <table style="width: 100%;border-collapse:collapse;border:none;">
                        <tbody>
                            <tr>
                                 <td style="width: 50%;border-top: 1pt solid black;border-right: 1pt solid black;border-bottom: 1pt solid black;border-image: initial;border-left: 1pt solid black;padding: 0in 5.4pt;vertical-align: top;">
                                    <p style='margin:0in;text-align:center;font-size:16px;font-family:"Calibri",sans-serif;color:black;font-weight:bold;'>&nbsp;</p>
                                </td>
                                <td style="width: 50%;border-top: 1pt solid black;border-right: 1pt solid black;border-bottom: 1pt solid black;border-image: initial;1pt solid black;padding: 0in 5.4pt;vertical-align: top;">
                                    <p style='margin:0in;text-align:center;font-size:16px;font-family:"Calibri",sans-serif;color:black;font-weight:bold;'>&nbsp;</p>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                    `,
                    Word.InsertLocation.replace
                );
                await context.sync();
            });
            
        } catch (error) {
            console.error(error);
        }
    
    };