Вот задачка!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Вот задачка!

Сообщение Ramzes » 02.07.2004 (Пт) 0:51

Есть 31 страничка 1-31.HTML, надо открыть их с помощю ворда, и распечатать.

(просто ради интереса)

mefestofele
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 17.04.2004 (Сб) 22:46
Откуда: Россия Тольятти

Сообщение mefestofele » 02.07.2004 (Пт) 1:20

Програмно?
Да поможет тебе F1, Да сохранит тебя F2. Во имя ALT'a, SHIFT'a и свяятого DEL'a, ESC.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 02.07.2004 (Пт) 2:04

Ну а как-же :evil: :!: :!: :!: , в ручную я и сам могу!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.07.2004 (Пт) 10:17

Ну а раз ты можешь вручную, то и делай вручную, предварительно включив запись макроса.
Lasciate ogni speranza, voi ch'entrate.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 02.07.2004 (Пт) 11:58

Мне не надо через макрос!!!!!!!!! :evil: :Мне надо из чистого бейсика!!!!!!!! Если бы я хотел через макрос я бы так и сделал!!! А если бы не знал как это сделать! то Спросил бы на форуме VBA

mefestofele
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 17.04.2004 (Сб) 22:46
Откуда: Россия Тольятти

Сообщение mefestofele » 05.07.2004 (Пн) 12:51

Можно попробовать через ASCII код
По алгоритму
For I=1 to 31
Ctrl+A 'выделить все
Alt+Tab
Ctrl+V 'вставить
Alt+Tab
Next
Я не знаю как это реализовать, но и не знаю как сделать по другому
Может кто знает?
Да поможет тебе F1, Да сохранит тебя F2. Во имя ALT'a, SHIFT'a и свяятого DEL'a, ESC.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 05.07.2004 (Пн) 13:25

Ну если не знаешь, то не надо просто-так оставлять сообщение :twisted:

Bethy
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 06.07.2004 (Вт) 3:55

Сообщение Bethy » 06.07.2004 (Вт) 4:11

Открываешь shell'мо, печатаешь SendKey'ем - итак 31 раз :-)

Tin
Woodsman
Woodsman
Аватара пользователя
 
Сообщения: 1001
Зарегистрирован: 08.12.2001 (Сб) 11:00
Откуда: Kazakhstan

Сообщение Tin » 06.07.2004 (Вт) 6:47

Знаю что с оле должна послаться такая команда
[REM _DDE_Minimize][FileOpen("%1")][t=IsDocumentDirty()][FilePrint 0][SetDocumentDirty t][DocClose]

но как её туда послать?
888888__88__88____88
__88________8888__88
__88____88__88__8888
__88____88__88____88

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 06.07.2004 (Вт) 9:25

Ставишь ссылку на MSWord Object Library. Далее примерно так:

Код: Выделить всё
Dim oWord As New Word.Application

With oWord
  .Documents.Open FileName:="<html-file>", ConfirmConversions:=False, ReadOnly _
      :=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
      :="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
      , Format:=wdOpenFormatAuto
  .Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
      wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
      ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
      False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
      PrintZoomPaperHeight:=0
  .Documents.Close
End With

Set oWord = Nothing



внутри запускаешь цикл по всем твоим файлам.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 06.07.2004 (Вт) 9:32

Кстати, почти весь код в предыдущем постинге создан с помощью записи макросов в Word (хотя и работает из-под чистого VB). Очень хорошее средство для изучения объектной модели приложений MS Office. Записываешь макрос, а потом смотришь код, который сгенерился автоматом. Так что народ тебе дело предлагал.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 06.07.2004 (Вт) 11:17

:roll: Ладно буду пробовать


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: The trick и гости: 18

    TopList