代码之家  ›  专栏  ›  技术社区  ›  brovar

无法将.doc另存为.xml

  •  2
  • brovar  · 技术社区  · 16 年前

    我想实现的是在将.doc或.rtf文件保存为.xml时,强制MS Word不要拆分特定的字符串。 例如,现在从以下内容开始:

     Something: ***TABLE_NAME.COLUMN_NAME***
    

     Something: AAATABLE_NAME.COLUMN_NAMEBBB
    

    或者其他类似的东西:

    <w:p wsp:rsidR="00537583" wsp:rsidRDefault="00AF6BDF" wsp:rsidP="00537583">
        <w:pPr>
            <w:pStyle w:val="Default"/>
            <w:jc w:val="both"/>
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
        </w:pPr>
        <w:r>
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
            <w:t>Something: AAA</w:t>
        </w:r>
        <w:r wsp:rsidR="00537583">
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
            <w:t>TABLE_NAME.</w:t>
        </w:r>
        <w:r wsp:rsidR="00537583" wsp:rsidRPr="00537583">
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
            <w:t> COLUMN_NAME</w:t>
        </w:r>
        <w:r wsp:rsidR="00537583">
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
            <w:t>BBB</w:t>
        </w:r>
    </w:p>
    

    我想得到的是:

     <w:p wsp:rsidR="00537583" wsp:rsidRDefault="00AF6BDF" wsp:rsidP="00537583">
        <w:pPr>
            <w:pStyle w:val="Default"/>
            <w:jc w:val="both"/>
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
        </w:pPr>
        <w:r>
            <w:rPr>
                <w:sz w:val="23"/>
                <w:sz-cs w:val="23"/>
            </w:rPr>
            <w:t>Something: AAATABLE_NAME.COLUMN_NAMEBBB</w:t>
        </w:r>
    </w:p>
    

    我将感谢任何有助于绕过这一点的想法。

    2 回复  |  直到 13 年前
        1
  •  2
  •   Dirk Vollmar    16 年前

    Word有一个选项来控制RSID条目是否随文档一起保存。这是一个隐藏的应用程序选项,只能通过Word对象模型访问。

    要防止生成这些ID,可以打开宏编辑器(alt+f11)并在即时窗口中执行以下代码:

    Application.Options.StoreRSIDOnSave = False
    

    如果没有rsid,所有具有相同格式的文本都将包含在一次运行中(我认为这是您想要的)。

    RSID被Word用于 automatically merge documents ;它们不包含保存文档布局所需的基本信息,因此保存是可选的(除非您需要能够合并文档)。

        2
  •  3
  •   Nick Haslam    16 年前

    如果您无法直接按您的需要导出,那么可以考虑两个选项:

    1. 使用vsto创建插件( Link here )

    2. 创建一个 XSLT Template 适当地重新格式化XML