|
Тема
|
Preview в VBA
|
|
Автор | Koлeв (Нерегистриран) |
Публикувано | 13.07.04 13:57 |
|
В Userform1 правя някакви обработки и зареждам Sheet1.След което извиквам
UserForm2,където също правя някаква обработка и допълвам Sheet1,извиквам User3 и т.н.,в Userform10 правя печат на Sheet1.
Преди печат на Sheet1 искам да направя преглед на страницата.
Изпълнавам:
Sheet1.Activate
Sheet1.PrintPreview
Горното изпълнено от UserForm10 минава нормално.Но когато започна изпълнението от UserFom1 aко не скрия User1,User2 и т.н. не се получава.Как мога да скрия User1,User2 и т.н. без да ги описвам поотделно,след което отново да ги отворя по ред в който бяха.
Благодаря за помоща.
| |
Тема
|
Re: Preview в VBA
[re: Koлeв]
|
|
Автор | Koлeв (Нерегистриран) |
Публикувано | 14.07.04 14:14 |
|
Хайде какво става,всички ли сте отпускари!!!!
| |
|
Аз нямам Ексел в момента, но отговарям с въпрос:
А ти откъде си толкова сигурен, че ако от UserForm10 скриеш UserForm1, UserForm2, и т.н. ще се получи, след като не знаеш как да ги скриеш и явно не си го правил?
Според мен не това е проблема. А проблемът е, че ти куца дизайна. Я се позамисли дали не може тези 10 UserForm-и да ги сведеш до една. Това твоето на пръв поглед малко ми прилича на Wizard. А ако си следил внимателно ще забележиш, че във Windows Wizard-ите са само една форма на която и се сменят различни фреймове с контроли. При теб няма ли да може да стане така?
Бии, за да те уважават!
| |
Тема
|
Re: Preview в VBA
[re: пpoГЪPMИcт]
|
|
Автор | Koлeв (Нерегистриран) |
Публикувано | 15.07.04 08:11 |
|
Скривам ги така: UserForm1.Hide,User2.Hide и т.н. след което Preview.После UserForm1.Show и т.н.Може би неправилно съм се изразил - и без да ги скривам Preview се изпълнява но излиза под формата,която е на екрана.Как да стане Previev да покрие Usera и след CLOSE HA PREVIEW да се покаже отново USER.
Благодаря.
| |
|
Значи доколкото разбирам (ако правилно съм разбрал, де) думата User я използваш за формата която ти затваря другите форми, но не може да се затвори сама себе се и да се отвори след това, и това ти е проблема.
Значи за нея ще използваш не името и ("User" както си я кръстил в случая), а "Me" и тогава кодът ти ще е такъв:
UserForm1.Hide
UserForm2.Hide
и т.н. до броя на формите, които имаш.....
Me.Hide
ActiveWindow.SelectedSheets.PrintPreview
Me.Show
UserForm2.Show
UserForm1.Show
и т.н. до броя на формите, които имаш....
Аз го пробвах това нещо с една форма и видях, че работи - комадата Me.Show не се изпълнява докато не натиснеш Close бутона на PrintPreview-то
Дано да съм ти помогнал, но все пак още веднъж ти напомням да обърнеш внимание на дизайна.
Успех!
Бии, за да те уважават!
| |
|
|
|
|