Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Назрела целая куча вопросов:Прогам..., Знатокам, М Добавлено: 24.01.06 13:13  

Автор вопроса:  Tsar
1.Как свернуть в Eсsel2003 нажатием кнопки' Cmd1(располженной на форме UserForm1) - 'к примеру (свернуть в в "Trey" открытый определенный лист- к примеру " Sheet2)) ???? - нужен код и пример'- это по VBA-и это срочно !!!!!:-)
2.(а). Как в Exсel2003 нажатием кнопки' Cmd1(располженной на форме UserForm1)- к примеру ( распечатать определенный лист(3) 'к примеру - далее выбираем необходимую страницу кнопками "OpttionButton1,-2 и т.д.("Sheet4"страница2,"Sheet7"страница5)) а далее их распечатываем ???? - нужен код и пример'- это по VBA - и это нужно срочно !!!!!:-)
3.Вопрос отпал так , как он вписался в вопрос2. :-)
P.S.1.Это Первая Моя большая программа - Автоматического составления материалов по Администратвной практике, сохранения данных в своеобразной базе их востановлению при первой необходимости, а так же многое другое все что, связано с работой дежурных частей ( т.е . пробный шаг её создания в Excel, паралельно в VB6.0, VB.net) - к чему это только приведет.... :-)))))
2. Все Ваши решения,варианты, дополнения, подсказки Я приму "во внимание" при разработке своей программы и дам ссылки на Ваши адреса!
4. На все вопросы почти есть готовые решения но нужны ваши варанты и очень мало располагаю свободным временем для решения этих вопросов.
5. Рад Всегда с Вами сотрудничать!!!!
                Tsar.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #1 Добавлено: 26.01.06 03:08
2.(а). Как в Exсel2003 нажатием кнопки' Cmd1(располженной на форме UserForm1)- к примеру ( распечатать определенный лист(3) 'к примеру - далее выбираем необходимую страницу кнопками "OpttionButton1,-2 и т.д.("Sheet4"страница2,"Sheet7"страница5)) а далее их распечатываем ???? - нужен код и пример'- это по VBA - и это нужно срочно !!!!!:-)


страницы уже выбраны, я так понимаю?
далее я бы сделал так: создал массив номеров страниц, выбираешь страницу и.. печатаешь
    With ActiveSheet.PageSetup
         .PrintArea = "" ' задаем область печати
' далее колонтитулы
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        ' далее задем поля
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False ' заголовки
        .PrintGridlines = False ' сетка
        .PrintComments = xlPrintNoComments
        .CenterHorizontally = True
        .CenterVertically = True
        .Orientation = xlPortrait ' книжная
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False ' здесь и так понятно
        .Zoom = False
        .FitToPagesWide = 3 ' в ширину на 3
        .FitToPagesTall = 1 ' в высоту на 1
    End With
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ' одна копия
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #2 Добавлено: 26.01.06 03:14
1.Как свернуть в Eсsel2003 нажатием кнопки' Cmd1(располженной на форме UserForm1) - 'к примеру (свернуть в в "Trey" открытый определенный лист- к примеру " Sheet2)) ???? - нужен код и пример'- это по VBA-и это срочно !!!!!:-)

минимизировать? могу помочь, а вот в трей...? думаю в ВБА это трудно :)

Ответить

Номер ответа: 3
Автор ответа:
 Dushes



ICQ: 249195431 

Вопросов: 8
Ответов: 110
 Профиль | | #3 Добавлено: 26.01.06 07:25
Ну я невеликий знаток VBA, но можно же минимизировать, установить свойство Visible = False, а потом уже любимая Shell_NotifyIcon.

Ответить

Номер ответа: 4
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #4 Добавлено: 28.01.06 09:14
Application.WindowState = xlMinimized

а уж
Visible = False
это надо обращаться к самому окну этого Application (в нашем случае Excel) через API

Ответить

Номер ответа: 5
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #5 Добавлено: 28.01.06 13:54
Попробуй это:
Dim TrayI As NOTIFYICONDATA
Private Const gcClassnameMSExcel = "XLMAIN"

Private Sub Form_Unload(Cancel As Integer)
    Dim x As Long
    x = FindWindow(gcClassnameMSExcel, vbNullString)
    TrayI.cbSize = Len(TrayI)
    TrayI.hwnd = x
    TrayI.uId = 1&
    Shell_NotifyIcon NIM_DELETE, TrayI
    ShowWindow x, SW_SHOWNORMAL
    End
End Sub

Private Sub CommandButton1_Click()
    Dim x As Long
    x = FindWindow(gcClassnameMSExcel, vbNullString)
    TrayI.cbSize = Len(TrayI)
    TrayI.hwnd = x
    TrayI.uId = 1&
    TrayI.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
    TrayI.ucallbackMessage = WM_LBUTTONDOWN
    TrayI.hIcon = Image1.Picture
    TrayI.szTip = "Recent" & Chr$(0)
    Shell_NotifyIcon NIM_ADD, TrayI
    ShowWindow x, SW_MINIMIZE
    ShowWindow x, SW_HIDE
End Sub

Private Sub PicHook_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
    Msg = x / Screen.TwipsPerPixelX
    If Msg = WM_LBUTTONDBLCLK Then
        Unload Me
    ElseIf Msg = WM_RBUTTONUP Then
        MsgBox "RIGHT BUTTON UP"
    End If
End Sub

Создай в ВБА форму, добавь кнопку и вставь это все в её код.

Ответить

Номер ответа: 6
Автор ответа:
 SerJ



Вопросов: 24
Ответов: 332
 Профиль | | #6 Добавлено: 28.01.06 13:55
Ааа, ну да, забыл. Не забудь декларации (хотя, ты должен их найти в любом АПИ-вьювере):
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Const SW_SHOWNORMAL = 1
Private Const SW_HIDE = 0
Private Const SW_MINIMIZE = 6
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_RBUTTONUP = &H205
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4

Private Type NOTIFYICONDATA
    cbSize As Long
    hwnd As Long
    uId As Long
    uFlags As Long
    ucallbackMessage As Long
    hIcon As Long
    szTip As String * 64
End Type

Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам