<<<In a User Form>>>
Option Explicit
Private Sub CommandButton1_Click()
Dim Lst As String
Dim x As Long
For x = 0 To ListBox2.ListCount - 1
Lst = ListBox2.List(x)
Select Case Sheets(Lst).Visible
Case Is = xlSheetVisible
Sheets(Lst).PrintOut
Case Is = xlSheetHidden
Sheets(Lst).Visible = True
Sheets(Lst).PrintOut
Sheets(Lst).Visible = xlSheetHidden
Case Is = xlSheetVeryHidden
Sheets(Lst).Visible = True
Sheets(Lst).PrintOut
Sheets(Lst).Visible = xlSheetVeryHidden
End Select
Next
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub CommandButton3_Click()
Application.Dialogs(xlDialogPrinterSetup).Show
End Sub
Private Sub ListBox2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Data As MSForms.DataObject, _
ByVal x As Single, _
ByVal Y As Single, _
ByVal DragState As Long, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As Integer)
Cancel = True
Effect = 1
End Sub
Private Sub ListBox2_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Action As Long, _
ByVal Data As MSForms.DataObject, _
ByVal x As Single, _
ByVal Y As Single, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As Integer)
Cancel = True
Effect = 1
ListBox2.AddItem Data.GetText
End Sub
Private Sub ListBox1_MouseMove(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal x As Single, _
ByVal Y As Single)
Dim MyDataObject As DataObject
Dim Effect As Integer
If Button = 1 Then
Set MyDataObject = New DataObject
MyDataObject.SetText ListBox1.Value
Effect = MyDataObject.StartDrag
End If
End Sub
Private Sub UserForm_Initialize()
Dim WS As Worksheet
For Each WS In ActiveWorkbook.Worksheets
ListBox1.AddItem WS.Name
Next
End Sub
<In Thisworkbook>
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
Cancel = True
UserForm1.Show
Application.EnableEvents = True
End Sub
|