Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Подключаю библиотеку MS Word 2000 (9.0) и хочу добавить колонтитул в док, с последующей распечаткой. Добавляет... и даже печатает... но только один раз! При повторном использовании кода происходит ошибка - ума не приложу, что делать. Кратко о том, что делает прога. В опред. папке она в цикле ищет файлы *.doc, добавляет в них колонтитул и отправляет на печать. Вот код: 'Папка, откуда берём файлы, изменяем, если надо... Dim MoveFrom As String MoveFrom = "c:\Mail\In" fle.Path = MoveFrom fle.Refresh Dim xw As New Word.Application For i = 0 To fle.ListCount - 1 ' Если вордовый док, то... If LCase(Right(fle.List(i), 4)) = ".doc" Then ' открываем xw.Documents.Open MoveFrom + "\" + fle.List(i) ' и добавляем колонтитул With xw .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter .Selection.WholeStory .Selection.Delete wdCharacter, 1 .ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument With .ActiveDocument.PageSetup .FooterDistance = CentimetersToPoints(0.6) .DifferentFirstPageHeaderFooter = True .RightMargin = CentimetersToPoints(1) End With If .ActiveDocument.PageSetup.Orientation = wdOrientLandscape Then ot = 24.5 Else ot = 15.8 End if rf = PointsToCentimeters(.ActiveDocument.PageSetup.LeftMargin) .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter With .Selection .ParagraphFormat.LeftIndent = CentimetersToPoints(ot - rf) .ParagraphFormat.RightIndent = CentimetersToPoints(-0.3) .Borders.Enable = True .Font.Size = 6 .ParagraphFormat.Alignment = wdAlignParagraphCenter .TypeText Text:="Государственное учреждение" + Chr(11) .Font.Bold = True .TypeText Text:="Вх. № " .TypeText Text:="Дата " & Date End With .ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument End With ' Закончили с колонтитулом End If ' Печатаем xw.PrintOut xw.Documents.Close False Next i xw.Quit Set xw = Nothing Добавьте на форму FileListBox, обзовите fle Добавьте на форму кнопку, вставьте код в событие Click Если у кого-нить есть время и желание помочь, буду очень благодарен! Гуру VB, отзовитесь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 11:03 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Какая ошибка? Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 15:11 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Удалённый сервер не существует или недоступен. Что-то вроде этого... См. картинку :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 16:28 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Картинка... А где же картинка??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 16:31 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
На какой строке конкретно? При открытии днового дока или на печати? Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 18:17 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Сразу после начала добавления колонтитула, когда начинается установка параметров страницы, т.е. в этом месте ' и добавляем колонтитул With xw .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter .Selection.WholeStory .Selection.Delete wdCharacter, 1 .ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Попробуй провести живой эксперимент, будет понятней. Даже если опустить установку параметров, прога начнёт ругаться на след строки и так далее, пока не уберёшь весь код добавления колонтитула. Что делать? Хэээээлп!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2004, 09:43 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
CentimetersToPoints Заменить на xw .CentimetersToPoints PointsToCentimeters Заменить на xw .PointsToCentimeters ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2004, 12:16 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Странно, но у меня отработало без звука. Разве что иногда кричал, мол не закрывай документ я еще печатаю. Оффис 2К. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2004, 14:04 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Да я о чём и говорю!!! Работает нормально! Но только один раз! Не завершая прогу, повтори операцию - вылетит ошибка! Что за дела? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2004, 14:50 |
|
||
|
VB + MS Word 2000
|
|||
|---|---|---|---|
|
#18+
Да действительно. Теперь понятно что происходило. CentimetersToPoints метод принадляжал предыдущему открытому документу и естественно при повторном вызове его уже не существовало. Поэтому правильно е решение - то что подсказал РА. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2004, 15:39 |
|
||
|
|

start [/forum/topic.php?fid=60&tid=2169189]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 406ms |

| 0 / 0 |
