none
MS Word RRS feed

  • Вопрос

  • Здравствуйте, подскажите пожалуйста

    как можно создать маркерованный или нумированный список в MS Word 2007 из своей программы на C#.

     

    Спасибо!

    • Перемещено Siddharth Chavan 1 октября 2010 г. 22:53 MSDN Forums Consolidation (От:Visual C#)
    30 января 2010 г. 11:57

Ответы

  • using Word = Microsoft.Office.Interop.Word;
    
    
    
    //Создаем
    Word.Application ThisApplication = new Word.Application();
    Word.Document ThisDocument;
    Object template = Type.Missing;
    Object newTemplate = Type.Missing;
    Object documentType = Type.Missing;
    Object visible = Type.Missing;
    ThisDocument = ThisApplication.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
                
    //Список
    Object start = 0; 
    Object end = 0; 
    Word.Range rng = ThisDocument.Range(ref start, ref end);
    rng.ListFormat.ApplyNumberDefault();//нумерованный
    //rng.ListFormat.ApplyBulletDefault();//маркированный
    Word.Selection sln = ThisApplication.Selection;
    ThisApplication.Options.Overtype = false;
    if (sln.Type == Word.WdSelectionType.wdSelectionIP)
    {
        sln.TypeText("item1");
        sln.TypeParagraph();
        sln.TypeText("item2");
        sln.TypeParagraph();
        sln.TypeText("item3");
    }
    
    // Сохраняем
    Object fileName = "C:\\myDocument.docx";
    Object fileFormat = Type.Missing;
    Object lockComments = Type.Missing;
    Object password = Type.Missing;
    Object addToRecentFiles = Type.Missing;
    Object writePassword = Type.Missing;
    Object readOnlyRecommended = Type.Missing;
    Object embedTrueTypeFonts = Type.Missing;
    Object saveNativePictureFormat = Type.Missing;
    Object saveFormsData = Type.Missing;
    Object saveAsAOCELetter = Type.Missing;
    Object encoding = Type.Missing;
    Object insertLineBreaks = Type.Missing;
    Object allowSubstitutions = Type.Missing;
    Object lineEnding = Type.Missing;
    Object addBiDiMarks = Type.Missing;
    ThisDocument.SaveAs(ref fileName, ref fileFormat, ref lockComments,
      ref password, ref addToRecentFiles, ref writePassword,
      ref readOnlyRecommended, ref embedTrueTypeFonts,
      ref saveNativePictureFormat, ref saveFormsData,
      ref saveAsAOCELetter, ref encoding, ref insertLineBreaks,
      ref allowSubstitutions, ref lineEnding, ref addBiDiMarks);
    
    //Закрываем
    Object saveChanges = Type.Missing;
    Object originalFormat = Type.Missing;
    Object routeDocument = Type.Missing;
    ThisApplication.Documents.Close(ref saveChanges, ref originalFormat, ref routeDocument);
    ThisApplication.Quit(ref saveChanges, ref originalFormat, ref routeDocument);

    использовал Объектная модель Word с точки зрения разработчика под .NET
    +можете посмотреть Numbered List in Microsoft Word

    • Предложено в качестве ответа PashaPash 30 января 2010 г. 17:37
    • Помечено в качестве ответа alexey-aktau 30 января 2010 г. 17:38
    30 января 2010 г. 14:46

Все ответы

  • using Word = Microsoft.Office.Interop.Word;
    
    
    
    //Создаем
    Word.Application ThisApplication = new Word.Application();
    Word.Document ThisDocument;
    Object template = Type.Missing;
    Object newTemplate = Type.Missing;
    Object documentType = Type.Missing;
    Object visible = Type.Missing;
    ThisDocument = ThisApplication.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
                
    //Список
    Object start = 0; 
    Object end = 0; 
    Word.Range rng = ThisDocument.Range(ref start, ref end);
    rng.ListFormat.ApplyNumberDefault();//нумерованный
    //rng.ListFormat.ApplyBulletDefault();//маркированный
    Word.Selection sln = ThisApplication.Selection;
    ThisApplication.Options.Overtype = false;
    if (sln.Type == Word.WdSelectionType.wdSelectionIP)
    {
        sln.TypeText("item1");
        sln.TypeParagraph();
        sln.TypeText("item2");
        sln.TypeParagraph();
        sln.TypeText("item3");
    }
    
    // Сохраняем
    Object fileName = "C:\\myDocument.docx";
    Object fileFormat = Type.Missing;
    Object lockComments = Type.Missing;
    Object password = Type.Missing;
    Object addToRecentFiles = Type.Missing;
    Object writePassword = Type.Missing;
    Object readOnlyRecommended = Type.Missing;
    Object embedTrueTypeFonts = Type.Missing;
    Object saveNativePictureFormat = Type.Missing;
    Object saveFormsData = Type.Missing;
    Object saveAsAOCELetter = Type.Missing;
    Object encoding = Type.Missing;
    Object insertLineBreaks = Type.Missing;
    Object allowSubstitutions = Type.Missing;
    Object lineEnding = Type.Missing;
    Object addBiDiMarks = Type.Missing;
    ThisDocument.SaveAs(ref fileName, ref fileFormat, ref lockComments,
      ref password, ref addToRecentFiles, ref writePassword,
      ref readOnlyRecommended, ref embedTrueTypeFonts,
      ref saveNativePictureFormat, ref saveFormsData,
      ref saveAsAOCELetter, ref encoding, ref insertLineBreaks,
      ref allowSubstitutions, ref lineEnding, ref addBiDiMarks);
    
    //Закрываем
    Object saveChanges = Type.Missing;
    Object originalFormat = Type.Missing;
    Object routeDocument = Type.Missing;
    ThisApplication.Documents.Close(ref saveChanges, ref originalFormat, ref routeDocument);
    ThisApplication.Quit(ref saveChanges, ref originalFormat, ref routeDocument);

    использовал Объектная модель Word с точки зрения разработчика под .NET
    +можете посмотреть Numbered List in Microsoft Word

    • Предложено в качестве ответа PashaPash 30 января 2010 г. 17:37
    • Помечено в качестве ответа alexey-aktau 30 января 2010 г. 17:38
    30 января 2010 г. 14:46
  • Спасибо Большое сейчас попробую
    30 января 2010 г. 17:00