|
|
|
Excel: промодулировать диалог печати - вменяемо и надежно. ?
|
|||
|---|---|---|---|
|
#18+
обратился ко мне сегодня коллега с вопросом как взаставить появляться в конкретной книжке диалог печати с предустановленной опцией "печатать всю книгу." немедленно ничего умнее SendKeys "%г" в Workbook_BeforePrint я ему предложить не смог. (Bad code - ui language dependent) сейчас вот придумался такой вариант: в обычном модуле размещаем так: Код: plaintext 1. 2. 3. 4. 5. Потом модуль книги и процедура Workbook_BeforePrint оформляются вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. по крайней мере, от версии уя это уже не зависит. Но нельзя ли обойтись без Appication.OnTime, глобального флага и отмены первого появления стандартного диалога? Есть ли другие решения? Как здесь правильно говорят - более другие. может быть можно промодулировать непосредственно "стандартный" диалог, способом, отличным от SendKeys. (вообще-то я думаю, что такого способа нет, но очень надеюсь, что кто-нибудь покажет фокус) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 01:10:21 |
|
||
|
Excel: промодулировать диалог печати - вменяемо и надежно. ?
|
|||
|---|---|---|---|
|
#18+
Попробуй в модуль книги код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 06:04:05 |
|
||
|
Excel: промодулировать диалог печати - вменяемо и надежно. ?
|
|||
|---|---|---|---|
|
#18+
нет. так не пойдет. ты не понял - никто не просит печатать всю книгу, да еще и на текущий принтер. Пользователь в критической ситуации сам решит - на какой принтер и всю или не всю. Просят лишь предложить ему уже предустановленную опцию "печатать всю книгу." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 09:58:37 |
|
||
|
Excel: промодулировать диалог печати - вменяемо и надежно. ?
|
|||
|---|---|---|---|
|
#18+
У меня получилось так Dim i As Byte Private Sub Workbook_BeforePrint(Cancel As Boolean) i = i + 1 If i = 1 Then Application.Dialogs(xlDialogPrint).Show , , , , , , , , , , , 3 Cancel = True End If i = i - 1 End Sub , но предварительный просмотр и печать по иконке с принтером стал тоже вызывать диалог. Встает вопрос как отличить кто позвал BeforePrint ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 23:33:43 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=245&tid=2181449]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 296ms |

| 0 / 0 |
