Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите перевести код / 2 сообщений из 2, страница 1 из 1
30.09.2011, 10:25
    #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
30.09.2011, 10:39
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите перевести код / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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