display pdf from byte array c# : Rotate pages in pdf expert Library software component .net winforms web page mvc 1200%20macro_examples26-part143

261
'initialize 1st listbox from cell range
'note that the column heading is not included in the range
.ListBox1.RowSource = Sheets(1).Range("a2:A3") _
.Address(external:=True)
.Show
End With
'remove form from memory
Unload UserForm1
'See if Cancel selected
If Not bOk Then Exit Sub
'display choices
With Sheets(1).Range("a2")
For I = 0 To 1
'if no choice made so indicate
If listChoice(I) = 
-
Then
MsgBox "No choice for " & .Offset(I, 0).Value
'if choice made get the value from the cell
Else
MsgBox .Offset(I, 0).Value & " choice: " & _
.Offset(listChoice(I), I + 1).Value
End If
Next
End With
End Sub
In the code module for the userform (assumed to be named UserForm1), enter the following code:
Private Sub CommandButton1_Click()
'used to close and hide the userform
Me.Hide
bOK = True
End Sub
Private Sub CommandButton2_Click()
'used to close and hide the userform
Rotate pages in pdf expert - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
permanently rotate pdf pages; how to rotate one page in pdf document
Rotate pages in pdf expert - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
saving rotated pdf pages; rotate pdf page
262
Me.Hide
bOK = False
End Sub
Private Sub ListBox1_Click()
'only run the following if a choice is made in the listbox
If ListBox1.ListIndex > 
-
Then
With ListBox2
Select Case ListBox1.ListIndex
Case 0:
'initialize the 2nd list for choice 1 in first list
'Note range is hard coded but can be a range name
'or determined by the code
.RowSource = Sheets(1).Range("b2:b5") _
.Address(external:=True)
.ListIndex = listChoice(0)
Case 1:
'initialize the 2nd list for choice 2 in first list
'Note range is hard coded but can be a range name
'or determined by the code
.RowSource = Sheets(1).Range("c2:c4") _
.Address(external:=True)
.ListIndex = listChoice(1)
End Select
End With
End If
End Sub
Private Sub ListBox2_Click()
'store selection from  listbox2
listChoice(ListBox1.ListIndex) = ListBox2.ListIndex
End Sub
When you run the subroutine Populating_List2_Based_On_List1, selections in the first listbox
change the list in the second list box.  When you exit, the name of the selected items are
displayed.  Also, the index value of the selection choices in listbox2 are stored in the array
listChoice.
13.6.24 Putting Listbox Selection Into A TextBox Or Cell
To put what is selected in a listbox or a combobox into a textbox on the form when one clicks on
a selection in the box, use code like the following:
C# Imaging - Scan Linear UPC-E in C#.NET
RaterEdge .NET Imaging Barcode toolkit can easily incorporate expert document and image from images and reading UPC-E barcode from PDF & Word document pages.
how to change page orientation in pdf document; how to reverse pages in pdf
263
Private SubComboBox1_Change()
Me.TextBox1.Text= Me.ComboBox1.Value
EndSub
Private SubListBox1_Click()
Me.TextBox1.Text= Me.ListBox1.Value
End Sub
To put the value in a cell when the user clicks on a selection, use code like the following:
Private SubComboBox1_Change()
Sheets("Sheet1").Range("A1").Value= Me.ComboBox1.Value
EndSub
Private SubListBox1_Click()
Sheets("Sheet1").Range("A1").Value= Me.ListBox1.Value
EndSub
13.6.25 Using A Horizontal Range For A List Box's Item
If you wish to specify a horizontal range for a listbox's items, you can do so with code just before
you display the userform:
UserForm1.ListBox1.List = Application.Transpose(Range("A1:Z1"))
13.6.26 Having A Macro Run When A Selection Is Made In A
List Box
To have a macro run when a selection in a combo box is made display the Visual Basic toolbar,
click on the design button and then double click on the combo box.  This will create the following
code, which is stored in the worksheet's code sheet:
Private Sub ComboBox1_Change()
End Sub
Edit the above to add in code that does what you want to happen based on what is selected in the
combo box.  For example, the following will run the macro DoIfValueIs5 if the value selected in
the list or typed into the edit box is 5.
Private Sub ComboBox1_Change()
If ComboBox1.Value = 5 Then DoIfValueIs5
End Sub
Sub DoIfValueIs5()
MsgBox "hello"
End Sub
264
If you have a list box and want a macro to run when a particular selection is made in the list, then
do the same thing to create the initial code in the worksheet's code sheet.  Then edit the code for
the action you want.  For example, the following will display a message telling you what was
selected in the list
Private Sub ListBox1_Click()
MsgBox ListBox1.Value
End Sub
You could also make the action as complex as you want, for example setting different cells to
specific values or running special macros.
13.6.27 Modifying An ActiveX Combobox On A Worksheet
OLEformat is the one you want for an ActiveX combobox
ActiveSheet.Shapes("Combobox1").OLEformat. _
Object.ListfillRange=$A$5:$A$9
TheListfillRange actually belongs to theOLEObject and not the control itself.  While the
normal combobox properties are one level below that 
-
thus the object.object.
Using the OLEObjects collection is shorter
ActiveSheet.OleObjects("Combobox1").ListfillRange = $A$5:$A$9
13.6.28 Internet Articles On ComboBoxes, EditBoxes, And
ListBoxes
Here are a couple of MS KB articles which should get you headed in the correct direction for this
question and those which might arise in the immediate future reference ComboBoxes and
ListBoxes on UserForms in XL97:
http://support.microsoft.com/support/kb/articles/q164/9/23.asp
How to Fill a UserForm ListBox with Database Values
http://support.microsoft.com/support/kb/articles/q161/5/98.asp
XL97:  How to Add Data to a ComboBox or a ListBox
http://support.microsoft.com/support/kb/articles/q183/1/83.asp
XL98: How to Fill ListBox Control with Multiple Ranges (works for XL97
too)
http://support.microsoft.com/support/kb/articles/q165/5/70.asp
265
XL97:  How to Use the TextColumn Property
http://support.microsoft.com/support/kb/articles/q161/3/46.asp
XL97:  How to Determine Which Items Are Selected in a ListBox
http://support.microsoft.com/support/kb/articles/q165/5/01.asp
XL97:  Returning Values from ListBox Displaying Multiple Columns
http://support.microsoft.com/support/kb/articles/q165/9/35.asp
XL97:  How to Display a ComboBox List when userform is Displayed
http://support.microsoft.com/support/kb/articles/q165/6/32.asp
XL97: How to Remove all items from a ListBox or ComboBox
13.7 OTHER USERFORM OBJECTS
13.7.1 Drawing Lines On UserForms
The best approach for putting a line on a userform is to use a textbox and making it very short
(horizontal line) or very thin (vertical line) and then setting the background color to a darker gray.
Set the height and width from the control property dialog.  You can play with theSpecialEffect
property to make it raised or to suite your purposes.  You should also set theenabled property of
the edit box toFalse so users can not tab into it.
13.7.2 How To Show A Chart, Map, WordArt, Shape Etc On A
UserForm
Quite a few users want to show a chart, map, WordArt, shape etc. on an userform.  A work
around for charts was to export them to a GIF or JPG, then read them into an image control.  This
is not possible for the other object types.
Stephen Bullen has created code called PastePicture that does this!  Its available athis web site
in PastePicture.zip.  This is a fairly small routine which uses API calls to convert whatever is on
the clipboard into a standard Picture object, which can then be assigned to a Label, Image control,
or the UserForm background itself.  Displaying a chart from sheet1 is now:
Sheet1.ChartObjects(1).Chart.CopyPicture xlScreen, _
xlBitmap, xlScreen
Set Image1.Picture = PastePicture   'download code per above
266
The latest version of PastePicture supports pasting the  picture as a metafile instead of a bitmap.
The bitmap format gives a  more exact image when copying same
-
size images, but the metafile
gives a much better result when zooming/stretching the image.
13.7.3 Putting Background Graphics On A UserForm
You can put a background picture on a userform by:
Selecting the userform
Displaying the properties window
Clicking in the picture property and then clicking on the little button that
appears
Selecting a picture
Setting the picture properties which affect how it appears on the userform
13.7.4 Pasting Images To A UserForm Image Control
1. Create the Word
-
Art in a worksheet or anywhere else but in a userform
2. Select and Edit/Copy it
3. Switch to the userform and add the image control
4. Find the Picture property of the image control, click in it and press Ctrl+V
If you wish to do it with code, then use a statement like the following:
UserForm1.Image1.Picture =LoadPicture("C:\my picture.bmp")
With the second approach, you may need to repaint the form if it is being displayed when you
change the image.  Use
UserForm1.Repaint
To repaint the form.
13.7.5 Using A Calendar Control On A UserForm
Firstly you need the calendar control installed on your machine.  This is done during the
installation of Access and is one of the install options (Just run the Access setup program).  It is
also installed if you have Excel 2000.
267
To see if you have the calendar control, open the Visual Basic Editor in Excel and create a
userform.  Right click on the toolbox dialog and select "Additional Controls".  Put an "x" in the
calendar control box to make the control available and select OK to close the window.  The
control is now shown as an icon in the Toolbox/Controls window.  If you do not have it, you may
be able to find it on the Microsoft web site.
Once you do the above, you can put the calendar control on a userform.  it has easy to use
properties visible in the properties dialog.
268
14. FILES, CHARTS, AND
WORKSHEETS
14.1 WORKING WITH WORKSHEETS
14.1.1 Adding Worksheets
To add a new worksheet, use the following statements:
Sheets.Add
or
Sheets.Add After:=ActiveSheet
The above statement will work fine except in early versions of Excel.  The following is the work
around for adding a worksheet to the end of a workbook:
Sheets.Add.Move After:=Sheets(Sheets.Count)
14.1.2 Adding And Naming A New Sheet At The Same Time
The following will add a new sheet after the sheet name "Result" and name the sheet "Samples"
Worksheets.Add(After:=Worksheets("Result")).Name = "Samples"
14.1.3 Adding A Worksheet As The Last Sheet In A Workbook
You cannot add a sheet as the last sheet.  You can however add it and then immediately move it.
The following illustrates this in a workbook that initially has just one sheet.
With ActiveWorkbook.Worksheets.Add(before:=Worksheets(1))
.Move after:=Worksheets(2)
End With
The following example duplicates the active worksheet and then moves it after that sheet.    A
two step approach is used in case there is 'just one sheet in the workbook
Dim sh As Worksheet
Set sh = ActiveSheet
'this Makes a copy of the sheet
sh.Copy sh
269
'this moves it after that sheet.
ActiveSheet.Move after:=sh
14.1.4 Renaming a worksheet
All sheets have a name property.  Thus you can use statements like the following to
rename a sheet
Activesheet.Name ="New Name"
or
Sheets("Sheet1").Name ="New Name"
14.1.5 How To Copy A Sheet And Make It The Last Sheet
The following statement illustrates how to copy a sheet and at the same time relocate the copy to
the end of the workbook.
Sheets("My Sheet").Copy After:=Sheets(Sheets.Count)
If you wanted to copy it after a specific sheet, then you would put that sheet's name in place of
Sheets.Count Please note that you do not have to select the sheet in order to copy it.
14.1.6 Sheet Copy Limit And The Cure
If you copy a sheet, and then copy the copy, etc, Excel 97 will ultimately crash after between 25
to 35 copies, even over multiple Excel sessions.  If you check in the Visual Basic project
explorer, you will see that the object names assigned to the sheets are Sheet1, Sheet11, Sheet111
and so forth.  Sooner or later, this name gets to large, and Excel's reaction is to crash.
The cure is to run the following macro, which renames the object names for the worksheets.
Please note if you have code that refers to the sheets by object name, you will have to fix the
code.
Sub RenameObjectNames()
Const lworksheet As Long = 100
'modules are 1
Dim objCode As Object, objcode2 As Object
Dim objComponents As Object
Dim J As Integer
Dim bNameOk As Boolean
Set objComponents = ActiveWorkbook.VBProject.VBComponents
For Each objCode In objComponents
270
If objCode.Type = lworksheet Then
Do
bNameOk = True
'find un
-
used name
J = J + 1
For Each objcode2 In objComponents
If objcode2.Name = "sheet_" & J Then
bNameOk = False
Exit For
End If
Next
'rename and exit do loop if name can be used
If bNameOk Then
objCode.Name = "sheet_" & J
Exit Do
End If
Loop
End If
Next
End Sub
14.1.7 How To Copy A Sheet To A New Workbook
The following illustrates how to copy a worksheet and rename it:
WorkSheets("Sheet1").Copy after:=WorkSheets("Sheet2")
ActiveSheet.Name = "NewSheet"
The following line of code copies a sheet to a new workbook and makes that workbook the
active workbook:
Sheets("Sheet2").Copy
The following illustrates how to save each worksheet to its own workbook.
Dim
wB
As Workbook
Dim
wS
As Worksheet
Set
wB =
ActiveWorkbook
For Each
wS
In
wB.
Worksheets
wS.
Copy
ActiveWorkbook
.
SaveAs
wS.
Name
'if you want to close the new workbook:
ActiveWorkbook.CloseFalse
Next
WS
Documents you may be interested
Documents you may be interested