COM Word - >すべてのContentControlを取得する

私は、Word文書のすべてのContentControlsを取得したい。現在、私はこれを行うために次の関数を使用しています。

    private static List GetAllContentControls(Document wordDocument)
    {
        if (null == wordDocument)
            throw new ArgumentNullException("wordDocument");

        List ccList = new List();

        Range rangeStory;
        foreach (Range range in wordDocument.StoryRanges)
        {
            rangeStory = range;
            do
            {
                try
                {
                    foreach (ContentControl cc in rangeStory.ContentControls)
                    {
                        ccList.Add(cc);
                    }
                }
                catch (COMException) { }
                rangeStory = rangeStory.NextStoryRange;

            }
            while (rangeStory != null);
        }
        return ccList;
    }

問題は、テキストフィールドでContentcontrolsを取得することです。

2

1 答え

わかった

    private static List GetAllContentControls(Document wordDocument)
    {
        if (null == wordDocument)
            throw new ArgumentNullException("wordDocument");

        List ccList = new List();

        Range rangeStory;
        foreach (Range range in wordDocument.StoryRanges)
        {
            rangeStory = range;
            do
            {
                try
                {
                    foreach (ContentControl cc in rangeStory.ContentControls)
                    {
                        ccList.Add(cc);
                    }

                    foreach (Shape shapeRange in rangeStory.ShapeRange)
                    {
                        foreach (ContentControl cc in shapeRange.TextFrame.TextRange.ContentControls)
                        {
                            ccList.Add(cc);
                        }
                    }
                }
                catch (COMException) { }
                rangeStory = rangeStory.NextStoryRange;

            }
            while (rangeStory != null);
        }
        return ccList;
    }
1
追加された