none
нарисованный shape на первом листе повторяется на всех листах RRS feed

  • Общие обсуждения

  • Здравствуйте, может кто встречался с этой проблемой. Рисую shape программным способом на втором листе с помощью Bookmark, но он почему-то появляется на первом листе и вообще дублируется на последующих.  В самом документе находится большая таблица на 3 и более листах, рисую программно поверх текста.

    Может кто-нибудь знает почему так происходит, может какие-то скрытые области имеются. Использую в программе Microsoft Office 2007 

    1 августа 2012 г. 2:59

Все ответы

  • неужели никто не встречался с подобной проблемой?
    2 августа 2012 г. 3:28
  • неужели никто не встречался с подобной проблемой?
    Ну вероятнее всего нет. На VBA мало кто пишет. Скрытые области в документах Word (если речь о нем) есть, они называются колонтитулами. Если вы рисуете объект в них, то этот объект будет на всех страницах документа.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    2 августа 2012 г. 4:36
  • я рисую не в колонтитулах и не на VBA. использую язык C# и рисую просто на второй странице 
    2 августа 2012 г. 8:06
  • я рисую не в колонтитулах и не на VBA. использую язык C# и рисую просто на второй странице 

    Ну тогда сильно поможет более подробное раскрытие темы. Из вашего первоначального вопроса я понял, что речь о VBA.

    Какой тип проекта? Как подключаете или создаете документ, как рисуете? Чем больше данных, тем выше вероятность ответа.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    2 августа 2012 г. 13:55
  • я в первый раз пишу на форум потому наверное не подумала о детальности, проект библиотека, подключаемая к WindowsForm

    на странице рисуется таблица на всю ширину листа и в некоторых ячейках создаются ContentControl-ы

    вот код  фрагмента функции

     void DrawingTextIntoDocument(Document doc, ExportPageChangeDTO st, ExportNumberChangeDTO change, ExportDataSpecificationId data)
            {
                Range r, rr = null;
                object EndOfPage = @"\page";
                object wdWhat = WdGoToItem.wdGoToPage;
                object wdWich = WdGoToDirection.wdGoToNext;
                object count = (object)1;
                int TotalPages, i;
                TotalPages = doc.ComputeStatistics(WdStatistic.wdStatisticPages, ref oMissing);
                object move = WdGoToItem.wdGoToLine;
                object how = WdGoToDirection.wdGoToNext;
    
                doc.Application.Windows.get_Item(ref count).View.ShowBookmarks = true;
    
                for (i = 1; i <= TotalPages; i++)
                {
                    r = doc.Bookmarks.get_Item(ref EndOfPage).Range;
                    
                    if (i > 1)
                    {
                        try
                        {
                            if (i == TotalPages) DrawindAgreeTable(doc, true, 0);
                            else DrawindAgreeTable(doc, false, 0);
                        }
                        catch
                        {
                            doc.ActiveWindow.Selection.GoTo(ref move, ref how, ref count, ref oMissing);
                            if (i == TotalPages) DrawindAgreeTable(doc, true, cursor_y1 - cursor_y);
                            else DrawindAgreeTable(doc, false, cursor_y1 - cursor_y);
                        }
                    }
                    else
                    {
                        rr = r;
                    }
    
                    r = r.GoTo(ref wdWhat, ref wdWich, ref count, ref oMissing);
                    r.Select();
                }
    
            }

    функция DrawAgreeDoc рисует внутри себя Shape-ы и группирует их

    надеюсь я все указала, может быть есть какие-то идеи


    • Изменено Dakiny 3 августа 2012 г. 2:32
    3 августа 2012 г. 2:30
  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]

    16 августа 2012 г. 8:09