0 / 0 / 0 Регистрация: 26.10.2010 Сообщений: 6 |
|
1 |
|
21.11.2011, 12:08. Показов 10446. Ответов 1
Подскажите, как программно перейти на нужную страницу документа Word, не используя Selection (через свойства самого документа)? Код object.ActiveWindow.Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="2" object.ActiveWindow.Selection.Find.ClearFormatting Спасибо!
0 |
1 / 1 / 1 Регистрация: 10.04.2011 Сообщений: 415 |
|
21.11.2011, 13:11 |
2 |
Переход на страницу 100: пользуйтесь макрорекордером, господа…
0 |
Okay,
so for my apprenticeship I need to keep record of what I do everyday. Since this is going to be a long doc, I wrote a VBA script which already writes stuff that stays the same, like the date, in there.
Problem is, the format is supposed to be one week per page. Means, when I arrive at saturday, the script would have to jump to the beginning of the next page(and probably fill the resulting space with paragraphs). And I have absolutely no clue if there is any function that could help me with that. I think there should be one tho, this doesn’t Sound like a too exotic Problem.
Now this is no crucial problem, but it’s annoying nonetheless and I’d like to know if there is any solution for this. Research so far didn’t do the trick either.
Have some code if that helps understanding. Ist basically about the commented part:
For i = InitDate To endDate
jump:
If CurrentDate = endDate Then GoTo EndSub
x = x + 1
strWeekday = weekday(CurrentDate, vbUseSystemDayOfWeek)
txtStr = Format(CurrentDate, "dddddd")
With Selection
.Font.Bold = True
.Font.Underline = True
.TypeText Text:=txtStr
.TypeParagraph
If x = 4 Then GoTo Thursday
If x = 5 Then GoTo Friday
'If x = 6 Then GoTo NewSheet
If x = 6 Then x = 0
.TypeParagraph
End With
CurrentDate = CurrentDate + 1
Next i
Формулировка задачи:
Понимаю, что тема уже обсуждалась, но возник вопрос, как переместиться на нужную строку нужной страницы? Есть документ из нескольких страниц, нужно вставить таблицу на n-ю строку n-ой страницы. Делаю следующим образом:
Получается лишь одна страница с вставленной таблицей, при том вставляется она на первую строку. Выходит, что работает только одна из команд выделения. Вопрос, как сделать, чтобы документ оставался в целостности с добавлением таблицы и как организовать переход на нужную строку нужной страницы?
Код к задаче: «Как в Word перейти на нужную страницу и строку»
textual
DocWord.Application.Selection.MoveDown 5, 4 'wdLine=5
Полезно ли:
7 голосов , оценка 3.571 из 5
Slaventy Пользователь Сообщений: 22 |
#1 23.12.2013 19:04:31 Здравствуйте
Но не получилось. Я могу перейти в конец документа, но перейди на вторую не получилось P.S. (приложил файл моего кода, если кому-то надо глянуть на код, того что я делаю) Прикрепленные файлы
|
||
Антон Пользователь Сообщений: 617 |
#2 23.12.2013 19:32:09 http://msdn.microsoft.com/en-us/library/office/ff821348.aspx
не забываем читать.
должно сработать |
||
Slaventy Пользователь Сообщений: 22 |
#3 23.12.2013 21:24:44 Антон
вашим способом не получается. Я создал документ ворд
вывел десять строк
А теперь мне надо перейти на вторую страницу и там вывести следующие 10 строк. Вопрос. Как перейти на вторую страницу документа ворд, если из макроса экселя создался документ имеющий одну страницу? |
||||
Юрий М Модератор Сообщений: 60586 Контакты см. в профиле |
#4 23.12.2013 22:06:45
А как Вы вручную это делаете в Word? |
||
Slaventy Пользователь Сообщений: 22 |
#5 23.12.2013 22:40:00 Вручную я просто нажимаю Enter. Я так понимаю мне предлагают просто добавить пустой параграф.
Если я прав то пожалуйста скажите мне. я добавляю таблицу
Вот вычитал
Но у меня почему-то не переходит на конец таблицы. И когда я добавляю параграфы, то идёт и смещение таблицы. |
||||||
Юрий М Модератор Сообщений: 60586 Контакты см. в профиле |
Наверное, эти вопросы лучше задать на форуме по Word… Или попробовать записать рекордером. |
Slaventy Пользователь Сообщений: 22 |
#7 24.12.2013 13:20:25 Спасибо. Буду искать решение. |
V88
-
#1
Здравствуйте!
Кто знает как программно реализовать переход на указанную страницу MS Word (желательно в ее начало)?
Заранее спасибо.
etc
-
#2
Если открыть ворд, начать запись макроса и перейти на указанную страницу, то маскос расскажет как!
V88
-
#3
Вот это получается :
Sub Макрос3()
‘
‘ Макрос3 Макрос
‘ Макрос записан 27.08.2010 Admin
‘
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=»2″
Selection.Find.ClearFormatting
With Selection.Find
.Text = «»
.Replacement.Text = «»
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
End Sub
И как это реализовать в Delphi? :newconfus:
Можно также прописать заранее в докумене-Ворд макрос, а потом в дельфи его выполнять, НО как его выполнить в Delphi? На функцию Run(«[имя макроса]») Delphi ругается.
В гугле искал — там только про Excel, а про Word ничего толком не нашел. C Excelem Run работает, а вот в Wordom почему-то нет
hosm
-
#4
переписать со скобками.
имена параметров опускаются, порядок параметров уточняется в хелпе ВБА ворда.
т.е. должно быть нечто типа такого:
WordApp.Selection.GoTo(wdGoToPage, 2);
Добавлено:
В гугле искал — там только про Excel, а про Word ничего толком не нашел.
всё вот вы врете и не краснеете =)
вот пример, в котором встречается код по переходу на страницу
Ссылка скрыта от гостей
вот пример по поиску-замене:
Ссылка скрыта от гостей
имена параметров опускаются, порядок параметров уточняется в хелпе ВБА ворда.
гы, а в делфях это не обязательно делать, судя по примерам, прокушивает и такой вид, как (имя:=значение)
etc
-
#5
прокушивает и такой вид, как (имя:=значение)
В справке делфевой об этом спец. параграф есть.
Автор искал не по тому ключевому слову. :newconfus:
hosm
-
#6
В справке делфевой об этом спец. параграф есть.
ну, я их иде лет 8 не видела. или уже даже 9 =)
V88
etc
-
#8
А справку принципиально не открываем?