XL97: Using the Common Dialog (Print) Control Flags Property
ID: Q170698
|
The information in this article applies to:
-
Microsoft Excel 97 for Windows
SUMMARY
The Flags property for the CommonDialog control is used to return or set
options in CommonDialog control dialog boxes. Most settings in the dialog
boxes are related to a constant that can be used to set or return the value
of the Flags property. This article contains an example that uses the Flags
property to set and return several options in the CommonDialog control (in
this case, the Print dialog box).
MORE INFORMATION
Microsoft provides programming examples for illustration only, without
warranty either expressed or implied, including, but not limited to, the
implied warranties of merchantability and/or fitness for a particular
purpose. This article assumes that you are familiar with the programming
language being demonstrated and the tools used to create and debug
procedures. Microsoft support professionals can help explain the functionality
of a particular procedure, but they will not modify these examples to
provide added functionality or construct procedures to meet your specific
needs. If you have limited programming experience, you may want to contact
the Microsoft fee-based consulting line at (800) 936-5200. For more
information about the support options available from Microsoft, please see
the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.asp
The following steps assume you installed the ActiveX controls from the
Microsoft Office 97 Office Developer Edition (ODE); the CommonDialog
control is not installed when you install Microsoft Office 97.
Setting Options in the Print Dialog Box
To use the Flags property to set options in the Print dialog box, follow
these steps:
- Save and close all open workbooks, and then create a new workbook.
- Start the Visual Basic Editor.
- On the Insert menu, click UserForm.
- If the CommonDialog control is not displayed in the Toolbox, click
Additional Controls on the Tools menu. Click "Microsoft Common Dialog
Control, version 5.0" in the Additional Controls dialog box, and then
click OK.
- Place a copy of the CommonDialog control on the UserForm, and then
place a CommandButton on the UserForm.
- Double-click the CommandButton to display the module behind the
UserForm, and then enter the following code for the Click event of the
CommandButton:
Private Sub CommandButton1_Click()
CommonDialog1.Flags = cdlPDDisablePrintToFile + cdlPDNoSelection
CommonDialog1.ShowPrinter
End Sub
- Run the UserForm, and then click the CommandButton when the UserForm is
displayed.
The Print dialog box is displayed. The Print To file check box is
cleared, and the Selection option is not selected.
- Click OK, and then close the UserForm.
Returning User Options from the Print Dialog Box
To continue the project in the previous section and return user options
from the Print dialog box, follow these steps:
- Change the code for the click event of the CommandButton to the
following:
Private Sub CommandButton1_Click()
CommonDialog1.ShowPrinter
' The statement "CommonDialog1.Flags And cdlPDPrintToFile" has a
' value of 0 when the Print To file check box is not selected and
' a value of 32 when it is selected.
MsgBox CommonDialog1.Flags And cdlPDPrintToFile
End Sub
- Run the UserForm, and then click the CommandButton when the UserForm is
displayed.
- Click the Print To File check box, and then click OK.
A message box displays a value of 32. This is the decimal equivalent of
Hexadecimal 20, the value of the cdlPDPrintToFile constant.
- Click OK to close the message box.
- Click the CommandButton again and clear the Print To File check box when
the Print dialog box is displayed.
- Click OK to close the Print dialog box.
A message box displays a value of 0, which indicates that the Print To
File check box was not selected.
- Click OK to close the message box.
- Close the UserForm.
The constants that are available for the Flags property are listed in the
following table.
Constant Value Description
----------------------------------------------------------------------
cdlPDAllPages &H0 Returns or sets the state of the All
Pages option button.
cdlPDCollate &H10 Returns or sets the state of the
Collate check box.
cdlPDDisablePrintToFile &H80000 Disables the Print To File check box.
cdlPDHelpButton &H800 Causes the dialog box to display the
Help button.
cdlPDHidePrintToFile &H100000 Hides the Print To File check box.
cdlPDNoPageNums &H8 Disables the Pages option button and
the associated edit control.
cdlPDNoSelection &H4 Disables the Selection option button.
cdlPDNoWarning &H80 Prevents a warning message from being
displayed when there is no default
printer.
cdlPDPageNums &H2 Returns or sets the state of the Pages
option button.
cdlPDPrintSetup &H40 Causes the system to display the Print
Setup dialog box rather than the Print
dialog box.
cdlPDPrintToFile &H20 Returns or sets the state of the Print
To File check box.
cdlPDReturnDC &H100 Returns a device context for the
printer selection made in the dialog
box. The device context is returned
in the dialog box's hDC property.
cdlPDReturnDefault &H400 Returns default printer name.
cdlPDReturnIC &H200 Returns an information context for the
printer selection made in the dialog
box. An information context provides a
fast way to get information about the
device without creating a device
context. The information context is
returned in the dialog box's hDC
property.
cdlPDSelection &H1 Returns or sets the state of the
Selection option button. If neither
cdlPDPageNums nor cdlPDSelection is
specified, the All option button is in
the selected state.
cdlPDUseDevModeCopies &H40000 If a printer driver doesn't support
multiple copies, setting this flag
disables the Number of copies spinner
control in the Print dialog. If a
driver does support multiple copies,
setting this flag indicates that the
dialog box stores the requested number
of copies in the Copies property.
REFERENCES
For more information about the Flag property, click the Index tab in
Visual Basic for Applications Help, type the following text
flags
and then double-click the selected text to go to the "Flags Property (Print
Dialog)" topic.
Additional query words:
XL97
Keywords : kbprg kbdta kbdtacode KbVBA
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbhowto