だから、私はこの単語文書を持っています。そこにはたくさんのテーブルがあり、そのうちのいくつかはかなり長いです。場合によっては、多くのページにまたがっています。これをプログラムでXMLに変換する必要があります。
最初は、Excelにコピーして貼り付けてCSVとして保存するだけでよいと言われましたが、そこから変換するのは非常に簡単です。ただし、一部のフィールドの書式設定により、Excelにコピーした後、スプレッドシートを正しく表示してCSVを正しく表示するには、スプレッドシートで多くの追加操作を行う必要があります。
これはVB.Net1.1で書かれた古いアプリのアドオンであることに注意してください(眉をひそめている顔):(。ただし、C#3.5で別のコマンドラインツールを作成するだけでうまくいくかどうかを議論しています。 C#には1.1フレームワークにあったとは思えないWordの相互運用機能がいくつかあるようですが、私はそれほど詳しく調べていません。
だから、私はこれを達成するための最良/最速の方法を探しています。それが達成され、プログラムで行われる限り、それがどのように達成されるかはそれほど重要ではありません。いくつかの手順は、それほど難しくなければ手動で行うことができます。たとえば、最初に他の形式に変換すると、コーディングの束が節約され、それほど難しくはありませんが、それで問題ありません。
誰かが以前にこのようなことをしたことがありますか?何か案は?
[OK]を更新 します。これが、私が行う必要のある正確な例です。
私はこのような単語のドキュメントを持っています...
PROTOCOL: BIRDS
Field Name Data Type Required Length Total Digits Fraction Digits ValidValues/Comparison Description
OBSERVATION_ID Text Yes 16 n/a n/a Unique observation identification. Primary key.
そのため、名前とベンダー(この場合はProtocolとBirds)のテーブルがあります。例として、フィールドは1つだけです。有効な値/比較では、複数のものをコンマで区切ることができます。各ものは、XML内の値タグで囲まれます。
今、私が基本的に行う必要があるのは、このXMLに変換するためにそれを取得することです...
<?xml version="1.0" encoding="utf-8"?>
<Formats xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Formats.xsd">
<VendorFormats Vendor="PROTOCOL" LastModified="2005-9-13">
<Format Name="BIRDS" Version="3" VersionDate="2005-9-10">
<BaseTable>BIRDS</BaseTable>
<StageTable>STAGE_BIRDS</StageTable>
<Fields>
<Text Name="OBSERVATION_ID" Required="Y">
<NullValue />
<Description>Unique observation identification. Primary key.</Description>
<Length>16</Length>
</Text>
</Fields>
</Format>
</VendorFormats>
</Formats>
ベーステーブルとステージテーブルが常に存在します。ベーステーブルは(PROTOCOL:BIRDS、したがってBIRDSになります)の先頭のコロンに続くものと同じ名前であり、ステージテーブルは常にSTAGE_であり、その後に続くものは結腸。また、XMLのバージョンと最終変更日およびバージョン日付もわかります。これらのことは後で心配することができ、おそらく手動で追加することができます。