Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA, Word. Распечать и закрыть документ / 3 сообщений из 3, страница 1 из 1
13.04.2010, 18:58
    #36577281
bearka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA, Word. Распечать и закрыть документ
Всем доброго!

Прошу помощи.. VBA, Word 2000
сделал документ с макросом print107, запускается файл через бантик:
Код: plaintext
"c:\Program Files\Microsoft Office\Office10\WINWORD.EXE" /mPrint107 "d:\Work\Temp\print107.doc" 
сам скрипт, методом научного тыка, проб и ошибок, получился такой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub print107()
    Documents.Open FileName:="D:\Work\Temp\105-107.TXT", Format:=wdOpenFormatEncodedText, Encoding:= 866 
    With ActiveDocument.Styles(wdStyleNormal).Font
        If .NameFarEast = .NameAscii Then
            .NameAscii = ""
        End If
        .NameFarEast = ""
    End With
    With ActiveDocument.PageSetup
        .Orientation = wdOrientLandscape
        .TopMargin = CentimetersToPoints( 1 . 3 )
        .BottomMargin = CentimetersToPoints( 1 . 3 )
        .LeftMargin = CentimetersToPoints( 1 . 5 )
        .RightMargin = CentimetersToPoints( 1 . 5 )
    End With
    Selection.InsertDateTime DateTimeFormat:="dd MMMM yyyy", _
    InsertAsField:=True
    Selection.WholeStory
    Selection.Font.Size =  8 
    ActiveDocument.PrintOut
    ActiveWindow.Close SaveChanges:=wdDoNotSaveChanges
    Application.Quit ( 0 )
End Sub 

и вроде все ок, НО если убрать Application.Quit то остается открытым вновь созданное окно ворда (типо новый документ), а в указанном варианте не отправляет документ на печать.. Видимо слишком быстро закрывается.
В итоге надо чтоб и на печать успело отправить и закрыть все открытые в ходе работы (и после) макроса документы ворда

зы в качестве паузы добавлял после PrintOut
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim PauseTime As Single
    Dim Start As Single
    Dim Finish As Single
    Dim TotalTime As Single
    PauseTime =  2 
    Start = Timer
    Do While Timer < Start + PauseTime
        DoEvents
    Loop
    Finish = Timer
    TotalTime = Finish - Start 
но это не решило проблемы (
...
Рейтинг: 0 / 0
13.04.2010, 19:14
    #36577316
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA, Word. Распечать и закрыть документ
bearka,

попробуйте
Код: plaintext
ActiveDocument.PrintOut False
...
Рейтинг: 0 / 0
14.04.2010, 17:15
    #36579078
bearka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA, Word. Распечать и закрыть документ
Shocker.Probearka,

попробуйте
Код: plaintext
ActiveDocument.PrintOut False


респект, все заработало..

зы тему можно закрыть

для поиска: печать закрыть распечать напечатать выход
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA, Word. Распечать и закрыть документ / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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