Страницы: 1
RSS
Как макросом из excel перейти на 2 стр. Word
 
Здравствуйте
Возникла проблема. Я копирую таблицу из excel в Word. Так как у меня в Excel большая таблица, то мне надо в Word копировать таблицы по 10 строчек на страницу. Я на первую страницу могу скопировать, но как перейти на вторую и начать там делать не знаю. Мне кажется где-то на форуме я встречал что-то подобное, но никак не могу найти.
Я вначале думал строкой
Код
   objDoc.Application.Visible = True
   objDoc.Selection.MoveDown Unit = 5, count = 5 
Но не получилось. Я могу перейти в конец документа, но перейди на вторую не получилось
Подскажите как переходить на вторую страницу в Word?

P.S. (приложил файл моего кода, если кому-то надо глянуть на код, того что я делаю)
 
http://msdn.microsoft.com/en-us/library/office/ff821348.aspx не забываем читать.

Код
If ActiveDocument.Endnotes.Count >= 2 Then   
Selection.GoTo What:=wdGoToEndnote, Which:=wdGoToAbsolute, Count:=2  
End If
должно сработать
 
Антон вашим способом не получается.
Я так понимаю функция GoTo может перейти на уже существующие страницы, а у меня существует только одна страница и мне каким-то образом надо её создать и потом перейти.
Либо ещё как-то это сделать.

Я создал документ ворд
Код
    Dim objWord As Object
    On Error Resume Next
    Application.ScreenUpdating = False
    Set objWord = GetObject(, "Word.Application")
    If Err Then Set objWord = CreateObject("Word.Application")

    Set objDoc = objWord.Documents.Add()
    objDoc.ActiveWindow.ActivePane.View.Zoom.Percentage = 100
 
    With objDoc
        .PageSetup.PaperSize = 8   '
        .PageSetup.Orientation = 1 '
        .Parent.Visible = True
    End With
 

вывел десять строк
Код
    For i = 1 To 11

        objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(2), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(3), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
        objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(5), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(4), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
        objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(9), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(6), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
        objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(15), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(2), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
    Next i
 
А теперь мне надо перейти на вторую страницу и там вывести следующие 10 строк.

Вопрос. Как перейти на вторую страницу документа ворд, если из макроса экселя создался документ имеющий одну страницу?
 
Цитата
...может перейти на уже существующие страницы, а у меня существует только одна страница и мне каким-то образом надо её создать и потом перейти.
А как Вы вручную это делаете в Word?
 
Вручную я просто нажимаю Enter. Я так понимаю мне предлагают просто добавить пустой параграф.
Код
objDoc.Activate  
objWord.Selection.TypeParagraph 
Если я прав то пожалуйста скажите мне.
И ещё вопрос.
И ещё небольшой вопрос. (я конечно ещё по форуму посмотрю, но если не трудно будет подсказать, буду благодарен)

я добавляю таблицу
Код
    For i = 1 To 11

     objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(2), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(3), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
     objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(5), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(4), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
     objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(9), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(6), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
     objDoc.Shapes.AddTextbox(msoTextOrientationHorizontal, Application.CentimetersToPoints(15), Application.CentimetersToPoints(7 + 0.5 * i), Application.CentimetersToPoints(2), Application.CentimetersToPoints(0.5)).TextFrame.TextRange.Text = CStr(i)
    Next i 
Вот вычитал
Код
' Перемещаемся в конец Word-документа 
objDoc.Activate 
objWord.Selection.EndKey Unit:=6 ' 6 = wdStory 
 
Но у меня почему-то не переходит на конец таблицы. И когда я добавляю параграфы, то идёт и смещение таблицы.
Как перейти на конец таблицы, чтобы добавляя параграфы не смещать её?
 
Наверное, эти вопросы лучше задать на форуме по Word... Или попробовать записать рекордером.
 
Спасибо. Буду искать решение.
Страницы: 1
Читают тему
Наверх