[[sqlscript1]] などの "[[]]" で示されるタグを持つ単語文書があります。ドキュメントをスキャンして、テキスト ボックスに sqlscript1 を表示したいと思います。[[]] を含む単語しか読めないのですか?
質問する
751 次
3 に答える
1
ミリムースが言ったように、OpenXML SDK はあなたが探しているものです。ダイナミック パワーポイント スライドのドキュメント生成では、このようなことを行います。SDK を使用すると、問題のドキュメントのオブジェクト モデルをプログラムで処理し、必要に応じて変更/検索/操作することができます。
于 2012-12-26T23:02:23.473 に答える
1
まず、Word 文書のコンテンツをメモリに読み込みます。次に、正規表現を使用して、二重角括弧で示されるタグを見つけます (必須パターン: "\[\[(?<tag>[^\]]*)\]\]"
)。
于 2012-12-26T23:04:07.803 に答える
1
Interop-DLL を使用して、Word ドキュメントからテキストを抽出する必要があります。これを見てください:http://msdn.microsoft.com/en-US/library/ms173188(v=vs.80).aspx
次に、次のようなファイルを読み取ります。
object file = Path.GetDirectoryName(Application.ExecutablePath) + @"\Answer.doc";
Word.Application wordObject = new Word.ApplicationClass();
wordObject.Visible = false;
object nullobject = Missing.Value;
Word.Document docs = wordObject.Documents.Open
(ref file, ref nullobject, ref nullobject, ref nullobject,
ref nullobject, ref nullobject, ref nullobject, ref nullobject,
ref nullobject, ref nullobject, ref nullobject, ref nullobject,
ref nullobject, ref nullobject, ref nullobject, ref nullobject);
String strLine;
bool bolEOF = false;
docs.Characters[1].Select();
int index = 0;
do
{
object unit = Word.WdUnits.wdLine;
object count = 1;
wordObject.Selection.MoveEnd(ref unit, ref count);
strLine = wordObject.Selection.Text;
richTextBox1.Text += ++index + " - " + strLine + "\r\n"; //for our understanding
object direction = Word.WdCollapseDirection.wdCollapseEnd;
wordObject.Selection.Collapse(ref direction);
if (wordObject.Selection.Bookmarks.Exists(@"\EndOfDoc"))
bolEOF = true;
} while (!bolEOF);
docs.Close(ref nullobject, ref nullobject, ref nullobject);
wordObject.Quit(ref nullobject, ref nullobject, ref nullobject);
docs = null;
wordObject = null;
各行を変数にコピーし、この正規表現コマンドを使用してパターンを確認します。
Regex.Match(MYTEXT, @"\[[([^)]*)\]]").Groups[1].Value
于 2012-12-26T23:05:56.257 に答える