2009-10-19 4 views
2

То, что я хотел бы достичь, - заставить MS Word не разделить определенные строки при сохранении .doc или .rtf файла как .xml. Например, теперь от чего-то вроде:Не удается сохранить .doc как .xml

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> 

Я буду быть благодарным за любые идеи, которые помогут обойти это.

+0

Не могли бы вы объяснить более подробно, какие проблемы вызывает первое представление? –

+0

xml-файл будет обработан позже, и мне было бы намного легче, если бы у меня была сплоченная строка в этом месте, а не некоторые ее части, разделенные на теги, которые могут (и, вероятно, будут) меняться во время публикации любого документа , – brovar

ответ

2

Word имеет возможность контролировать, что записи RSID сохраняются вместе с документом. Это скрытый вариант приложения, доступный только через объектную модель Word.

Чтобы предотвратить создание этих идентификаторов, вы можете, например, открыть редактор макросов (Alt + F11) и выполнить следующий код в немедленном окне:

Application.Options.StoreRSIDOnSave = False 

Без RSIDs весь текст, имеющий такое же форматирование будет содержаться в одном периоде (я думаю, что это то, что вы хотите иметь).

RSID-коды используются в Word до automatically merge documents; они не содержат важной информации, необходимой для сохранения макета документов, поэтому сохранение является необязательным (если только вам не нужно объединять документы).

+0

Отлично работает, спасибо. Я надеюсь, что моим коллегам также понравится это решение;) – brovar

+0

Моя радость была немного преждевременной, поскольку она не работает с Word 2007 - любая идея почему? ... – brovar

+0

Я пробовал это с Word 2007. Какой тип XML формате вы выбрали из доступных форматов XML? Это должно работать хотя бы для формата Word 2003 XML. –

3

два варианта весной на ум, если вы не можете получить его на экспорт, как вы хотите напрямую:

  1. Создать плагин с помощью VSTO (Link here)

  2. Создание XSLT Template для переформатировать XML надлежащим образом

Смежные вопросы