powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите перевести код
2 сообщений из 2, страница 1 из 1
Помогите перевести код
    #37462341
Фотография rufatina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Sub spisokss2()

    With ListGalleries(wdOutlineNumberGallery).ListTemplates( 1 ).ListLevels( 1 )
        .NumberFormat = "V.%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = CentimetersToPoints( 1 . 9 )
        .Alignment = wdListLevelAlignLeft
        .TextPosition = CentimetersToPoints( 2 . 54 )
        .TabPosition = wdUndefined
        .ResetOnHigher =  0 
        .StartAt =  1 
        .LinkedStyle = ""
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates( 1 ).ListLevels( 2 )
        .NumberFormat = "T.%2"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = CentimetersToPoints( 3 . 17 )
        .Alignment = wdListLevelAlignLeft
        .TextPosition = CentimetersToPoints( 3 . 81 )
        .TabPosition = wdUndefined
        .ResetOnHigher =  1 
        .StartAt =  1 
        .LinkedStyle = ""
    End With
    ListGalleries(wdOutlineNumberGallery).ListTemplates( 1 ).Name = ""
    Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
        ListGalleries(wdOutlineNumberGallery).ListTemplates( 1 ), _
        ContinuePreviousList:=False, ApplyTo:=wdListApplyToWholeList, _
        DefaultListBehavior:=wdWord10ListBehavior
    Selection.TypeText Text:="svsbsb"
    Selection.TypeParagraph
    Selection.TypeText Text:="vsvssvvs"
    Selection.Range.SetListLevel Level:= 2 
    Selection.TypeParagraph
    Selection.TypeText Text:="svvssv"
    Selection.TypeParagraph
    Selection.TypeText Text:="vdddb"
    Selection.Range.SetListLevel Level:= 1 
End Sub
Нужно этот макрос перевести с VBA в VB а еще лучше в C#. Любые комменты приветствуется . Это макрос который создает многоуровневый список. Пользуясь İnterop-ом хочу автоматизировать Word processing. Заранее спасибо.
...
Рейтинг: 0 / 0
Помогите перевести код
    #37462371
Фотография rufatina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rufatina,

В общем проблему решил вот код может кому то пригодится правда на шарпе.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
 int i;
            ApplicationClass wdApp = new ApplicationClass();
            Microsoft.Office.Interop.Word.Document doc = wdApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
            Microsoft.Office.Interop.Word.Range rng = doc.Content;
            wdApp.Visible = true;
            object oTrue = true;
            object oFalse = false;
            object oListName = "TreeList";
            object applyTo = WdListApplyTo.wdListApplyToThisPointForward;
            object defBehavior = WdDefaultListBehavior.wdWord10ListBehavior;

            Microsoft.Office.Interop.Word.ListTemplate lstTemp = doc.ListTemplates.Add(ref oTrue, ref oListName);

            wdApp.Selection.Range.ListFormat.ApplyListTemplateWithLevel(
             lstTemp, ref oTrue,
             ref applyTo, ref defBehavior, ref missing);
            i =  1 ;
            lstTemp.ListLevels[ 1 ].NumberFormat = "V.%1";
            lstTemp.ListLevels[ 1 ].NumberStyle = Microsoft.Office.Interop.Word.WdListNumberStyle.wdListNumberStyleArabic;
            lstTemp.ListLevels[ 1 ].NumberPosition = wdApp.CentimetersToPoints( 0 .5f * (i -  1 ));


            i =  2 ;
            lstTemp.ListLevels[ 2 ].NumberFormat = "T.%2";
            lstTemp.ListLevels[ 2 ].TrailingCharacter = WdTrailingCharacter.wdTrailingTab;
            lstTemp.ListLevels[ 2 ].NumberStyle = Microsoft.Office.Interop.Word.WdListNumberStyle.wdListNumberStyleArabic1;
            lstTemp.ListLevels[ 2 ].NumberPosition = wdApp.CentimetersToPoints( 0 .5f * (i -  1 ));

            wdApp.Selection.Range.SetListLevel( 1 );
            wdApp.Selection.TypeText("sgdbbbddb");
            wdApp.Selection.TypeParagraph();
            wdApp.Selection.Range.SetListLevel( 2 );
            wdApp.Selection.TypeText("fssvsv");
            wdApp.Selection.TypeParagraph();

            //lstTemp.ListLevels[ 2 ].TextPosition = wdApp.CentimetersToPoints( 0 .5f * i);
           // wdApp.Selection.TypeText("sgdbbbddb");
            //wdApp.Selection.TypeParagraph();
Я и шарпе и в Васике новичок так что не пинайте за говнокод.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите перевести код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]