none
c# word 项目符号 RRS feed

  • 问题

  •   想在c#中读取word中的项目符号和编号,可是在操作时无法获得。

                 代码如下,   
                    int listCount = aDoc.ListTemplates.Count;
                    string listStr;
                    for (int m = 1; m <= listCount; m++)
                    {
                            object x = m;         
                            Word.ListTemplate  listT =aDoc.ListTemplates.get_Item(ref x);                       

                            Word.ListLevel listL = listT.ListLevels[1];                       
                           listStr = listL.TrailingCharacter.ToString();
                            MessageBox.Show(listStr);
                        }

                    望高手指点!

    2012年2月9日 2:52

答案

  • Hi njscy,

    Welcome to the MSDN forum!

    根据我的理解,我们可以用ListLevel的NumberFormat来体现项目符号。在ListLevel中只能体现编号的NumberFormat和NumberStyle——这是与项目编号相关的一些信息,可能根据这两者推测出当前使用的编号模式。

    如果您需要获取项目符号和编号,可以考虑使用Range.ListFormat.ListString.

           static void testExist()
            {
                object missing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
                Document doc = app.Documents.Open(@"E:\test.doc", ReadOnly: false, Visible: false);
                app.Visible = true;
    
                foreach (Paragraph p in doc.Paragraphs)
                {
                    MessageBox.Show(p.Range.ListFormat.ListString);
                }
            }

    希望对您有所帮助!

    祝,一切顺利!

    yoyo


    Yoyo Jiang[MSFT]
    MSDN Community Support | Feedback to us

    2012年2月13日 4:39
    版主

全部回复

  • 以下資訊給您參考,謝謝!

    Microsoft.Office.Interop.Word Namespace


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年2月9日 5:05
  • 谢谢,我一直在试着找一种合适的方式。
    2012年2月9日 10:33
  • Hi njscy,

    Welcome to the MSDN forum!

    根据我的理解,我们可以用ListLevel的NumberFormat来体现项目符号。在ListLevel中只能体现编号的NumberFormat和NumberStyle——这是与项目编号相关的一些信息,可能根据这两者推测出当前使用的编号模式。

    如果您需要获取项目符号和编号,可以考虑使用Range.ListFormat.ListString.

           static void testExist()
            {
                object missing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
                Document doc = app.Documents.Open(@"E:\test.doc", ReadOnly: false, Visible: false);
                app.Visible = true;
    
                foreach (Paragraph p in doc.Paragraphs)
                {
                    MessageBox.Show(p.Range.ListFormat.ListString);
                }
            }

    希望对您有所帮助!

    祝,一切顺利!

    yoyo


    Yoyo Jiang[MSFT]
    MSDN Community Support | Feedback to us

    2012年2月13日 4:39
    版主
  • Hi njscy,

    我暂时把一个回复标记为答案。如果您认为该回复对您没有帮助,可以取消标记回复为答案。

    谢谢您的理解!

    yoyo


    Yoyo Jiang[MSFT]
    MSDN Community Support | Feedback to us

    2012年2月20日 2:06
    版主