Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Перенесено из VB6/MS Access]Параллельные потоки на VBA, Подскажиет новичку :) 
:(
    Опции темы
logvin
Дата 16.2.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 16.2.2011

Репутация: нет
Всего: нет



Сразу скажу, что новичок, сильно не пинайте.

Есть задачка в MS Project (это офисный пакет для планирования) применить определенный фильтр и отправить файл на печать в виртуальный принтер.

При отправке на печать в виртуальный принтер от программки "do PDF" выскакивает окошко с выбором пути для сохранения файла.

вот мой код 
Код

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Sub КБНИР_Общий()

FilterEdit Name:="Общий план КБ НИР", TaskFilter:=True, Create:=True, OverwriteExisting:=True, FieldName:="Названия ресурсов", Test:="содержит", Value:="КБ НИР", ShowInMenu:=False, ShowSummaryTasks:=True
FilterEdit Name:="Общий план КБ НИР", TaskFilter:=True, FieldName:="", NewFieldName:="% завершения", Test:="меньше", Value:="100", Operation:="И", ShowSummaryTasks:=True
FilterEdit Name:="Общий план КБ НИР", TaskFilter:=True, FieldName:="", NewFieldName:="Название", Test:="не содержит", Value:="Согласование номенклатуры", Operation:="И", ShowSummaryTasks:=True

FilterApply "Общий план КБ НИР"

FilePageSetupPage Portrait:=False
FilePageSetupMargins Top:=0.5, Bottom:=0.5, Left:=0.5, Right:=0.5
FilePageSetupPage PercentScale:=95
FilePrintSetup "DoPdf v5"
FilePrint , , , , , , , , False, , False

Dim hWndParent As Long
Dim hWndChild As Long
hWndParent = FindWindowEx(0, 0, "JWinproj-WhimperMainClass", 0)
If (hWndParent = Null) Then
hWndChild = FindWindowEx(hWndParent, Null, "EDIT", Null)
ElseIf (hWndChild = Null) Then
SetWindowText hWndChild, "текст, который надо вставить"
End If

End Sub



на функции "FilePrint , , , , , , , , False, , False" появляется окно, и следующий код


Код

Dim hWndParent As Long
Dim hWndChild As Long
hWndParent = FindWindowEx(0, 0, "JWinproj-WhimperMainClass", 0)
If (hWndParent = Null) Then
hWndChild = FindWindowEx(hWndParent, Null, "EDIT", Null)
ElseIf (hWndChild = Null) Then
SetWindowText hWndChild, "текст, который надо вставить"
End If

не выполняется, ждет закрытия окна.

Так вот. На сколько я понял, данный код нужно пускать в параллельном потоке до вызова функции "FilePrint , , , , , , , , False, , False".
Тогда он отработает, нажмет на "ок" (сейчас пока нажатия в коде нет), окно закроется и основной код продолжит выполняться.

Подскажите пожалуйста, как это можно сделать!
Заранее спасибо!
PM MAIL   Вверх
Akina
Дата 16.2.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



FilePrint не является встроенной (штатной) процедурой VB6. Укажите, из какой библиотеки она берётся... а лучше сразу попробуйте почитать доку по параметрам, может, там есть что-то, позволяющее выполнять эту процедуру асинхронно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
logvin
Дата 16.2.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 16.2.2011

Репутация: нет
Всего: нет



да ничего особенного в ней не вижу 
http://msdn.microsoft.com/ru-ru/library/ff...28en-us%29.aspx
PM MAIL   Вверх
-Mikle-
Дата 19.2.2011, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: нет
Всего: 59



А не судьба вызвать FilePrint в самом конце КБНИР_Общий ?


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Akina
Дата 19.2.2011, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



logvin, Вы на VB6 пишете или на VBA?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
logvin
Дата 21.2.2011, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 16.2.2011

Репутация: нет
Всего: нет



Цитата
Вы на VB6 пишете или на VBA?

на VBA 
Цитата
А не судьба вызвать FilePrint в самом конце КБНИР_Общий ?


не важно где поставить. все равно при отправке на печать появится окно, и VBA будет ждать его закрытия.

PM MAIL   Вверх
Akina
Дата 21.2.2011, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(logvin @  21.2.2011,  09:32 Найти цитируемый пост)
на VBA 

А раздел выбрать нормально не судьба?
Тема перенесена.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.