Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Доработка окна предварительного просмотра - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Доработка окна предварительного просмотра (Макросы Sub)
Доработка окна предварительного просмотра
mironi Дата: Воскресенье, 10.11.2013, 15:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

При открытии окна предварительного просмотра не отображаются кнопки печать,закрыть и т.д.Пример прилагается.Прошу помочь!
К сообщению приложен файл: 5430285.xlsm (42.8 Kb)
 
Ответить
СообщениеПри открытии окна предварительного просмотра не отображаются кнопки печать,закрыть и т.д.Пример прилагается.Прошу помочь!

Автор - mironi
Дата добавления - 10.11.2013 в 15:11
KuklP Дата: Воскресенье, 10.11.2013, 15:45 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
В модуле книги переименуйте макрос Workbook_open(как угодно). Затем выполните макрос... А ладно, проще самому сделать:)
К сообщению приложен файл: 5430285-1.xlsm (28.0 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВ модуле книги переименуйте макрос Workbook_open(как угодно). Затем выполните макрос... А ладно, проще самому сделать:)

Автор - KuklP
Дата добавления - 10.11.2013 в 15:45
SkyPro Дата: Воскресенье, 10.11.2013, 15:54 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Подозреваю, что сворачивание ленты тут должно остаться :)
Просто нужно её разворачивать до отображения предварительного просмотра. А у автора процедура есть, но она нигде не используется.
Правда проблемой потом будет снова свернуть ленту. Я пока повесил на событие selection_change.
К сообщению приложен файл: 3574623.xlsm (33.8 Kb)


skypro1111@gmail.com
 
Ответить
СообщениеПодозреваю, что сворачивание ленты тут должно остаться :)
Просто нужно её разворачивать до отображения предварительного просмотра. А у автора процедура есть, но она нигде не используется.
Правда проблемой потом будет снова свернуть ленту. Я пока повесил на событие selection_change.

Автор - SkyPro
Дата добавления - 10.11.2013 в 15:54
KuklP Дата: Воскресенье, 10.11.2013, 16:00 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
ТС:
Цитата
при необходимости кнопкой Ctrl+я открываю ленту,сетку и т.д.
Открыл, ткнул в ячейку, а тут selection_change... hands ИМХО нефиг курочить интерфейс, или опять же при необходимости кнопкой Ctrl+я ;)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеТС:
Цитата
при необходимости кнопкой Ctrl+я открываю ленту,сетку и т.д.
Открыл, ткнул в ячейку, а тут selection_change... hands ИМХО нефиг курочить интерфейс, или опять же при необходимости кнопкой Ctrl+я ;)

Автор - KuklP
Дата добавления - 10.11.2013 в 16:00
SkyPro Дата: Воскресенье, 10.11.2013, 16:20 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
А я и не читал, что там внутри файла написано :)
Короче. У автора просто макрос разворачивания ленты не был добавлен на кнопку.
А селекшен чейнж можно и убрать )


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 10.11.2013, 16:21
 
Ответить
СообщениеА я и не читал, что там внутри файла написано :)
Короче. У автора просто макрос разворачивания ленты не был добавлен на кнопку.
А селекшен чейнж можно и убрать )

Автор - SkyPro
Дата добавления - 10.11.2013 в 16:20
KuklP Дата: Воскресенье, 10.11.2013, 16:44 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Если честно, я тоже не читал до Вашего замечания :) Прочитал топик и сделал, как просит автор.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЕсли честно, я тоже не читал до Вашего замечания :) Прочитал топик и сделал, как просит автор.

Автор - KuklP
Дата добавления - 10.11.2013 в 16:44
mironi Дата: Воскресенье, 10.11.2013, 22:32 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Ребята ! Спасибо за помощь и внимание.Буду пробовать.
 
Ответить
СообщениеРебята ! Спасибо за помощь и внимание.Буду пробовать.

Автор - mironi
Дата добавления - 10.11.2013 в 22:32
w00t Дата: Вторник, 19.11.2013, 17:37 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 3 ±
Замечаний: 0% ±

Помогите заодно добить. Как убрать ошибку, если печатать нужно только выделенное. На выделенные две ячейки к примеру - не работает

[vba]
Код
ActiveSheet.Select
      Dim pA As Range
      Set pA = Selection
      If pA.Cells.Count = 1 Then Exit Sub
'    pA.Select
      With ActiveSheet.PageSetup
          .PrintArea = Selection.Address
          .PaperSize = xlPaperA4
          .CenterHorizontally = True
          .Orientation = xlLandscape
          .Zoom = PercentZoom(pA)
      End With
enbl
      ActiveWindow.SelectedSheets.PrintPreview
End Sub
Public Function PercentZoom(pAr As Range) As Integer
Dim i As Integer
Dim j As Single
With ActiveSheet
      For i = 1 To pAr.Columns.Count
          j = j + .Columns(i).Width
      Next
End With
PercentZoom = Int((690 / j) * 100)
End Function
[/vba]
К сообщению приложен файл: _3574623.xlsm (35.4 Kb)


Сообщение отредактировал w00t - Вторник, 19.11.2013, 17:38
 
Ответить
СообщениеПомогите заодно добить. Как убрать ошибку, если печатать нужно только выделенное. На выделенные две ячейки к примеру - не работает

[vba]
Код
ActiveSheet.Select
      Dim pA As Range
      Set pA = Selection
      If pA.Cells.Count = 1 Then Exit Sub
'    pA.Select
      With ActiveSheet.PageSetup
          .PrintArea = Selection.Address
          .PaperSize = xlPaperA4
          .CenterHorizontally = True
          .Orientation = xlLandscape
          .Zoom = PercentZoom(pA)
      End With
enbl
      ActiveWindow.SelectedSheets.PrintPreview
End Sub
Public Function PercentZoom(pAr As Range) As Integer
Dim i As Integer
Dim j As Single
With ActiveSheet
      For i = 1 To pAr.Columns.Count
          j = j + .Columns(i).Width
      Next
End With
PercentZoom = Int((690 / j) * 100)
End Function
[/vba]

Автор - w00t
Дата добавления - 19.11.2013 в 17:37
w00t Дата: Вторник, 19.11.2013, 18:37 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 3 ±
Замечаний: 0% ±

Не разобрался)) еще актуально) к примеру для этого, или который оригинальный..

[vba]
Код
Sub test()
Dim ans As String, rPrintArea As Range
On Error Resume Next
Application.DisplayAlerts = False
    Set rPrintArea = Application.InputBox(Prompt:="Use Mouse to select area to Print.", Title:="Select Print Area", Type:=8)
On Error GoTo 0
Application.DisplayAlerts = True
      If rPrintArea Is Nothing Then Exit Sub
    ans = MsgBox(Prompt:="Yes to Print." & vbCrLf & "No to Preview." & vbCrLf & "Cancel To Abort", Buttons:=vbYesNoCancel, Title:="Print?")
      If ans = vbCancel Then Exit Sub
        If ans = vbYes Then
          rPrintArea.PrintOut
        Else
          rPrintArea.PrintOut Preview:=True, Collate:=True
        End If
End Sub
[/vba]


Сообщение отредактировал w00t - Вторник, 19.11.2013, 19:17
 
Ответить
СообщениеНе разобрался)) еще актуально) к примеру для этого, или который оригинальный..

[vba]
Код
Sub test()
Dim ans As String, rPrintArea As Range
On Error Resume Next
Application.DisplayAlerts = False
    Set rPrintArea = Application.InputBox(Prompt:="Use Mouse to select area to Print.", Title:="Select Print Area", Type:=8)
On Error GoTo 0
Application.DisplayAlerts = True
      If rPrintArea Is Nothing Then Exit Sub
    ans = MsgBox(Prompt:="Yes to Print." & vbCrLf & "No to Preview." & vbCrLf & "Cancel To Abort", Buttons:=vbYesNoCancel, Title:="Print?")
      If ans = vbCancel Then Exit Sub
        If ans = vbYes Then
          rPrintArea.PrintOut
        Else
          rPrintArea.PrintOut Preview:=True, Collate:=True
        End If
End Sub
[/vba]

Автор - w00t
Дата добавления - 19.11.2013 в 18:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Доработка окна предварительного просмотра (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!