display pdf winform c# : How to rotate one page in pdf document control SDK platform web page winforms asp.net web browser 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200713-part637

The numeric parameters are particularly useful when you want to loop through a series of rows or
columns using an incrementing index number. The following example loops through rows 1 to 10 and
columns A to E in the active worksheet, placing values in each cell:
Sub FillCells()
Dim lRow As Long, lColumn As Long
‘Using Cells property to refer to range
‘Loop through rows
For lRow = 1 To 10
‘Loop through columns
For lColumn = 1 To 5
Cells(lRow, lColumn).Value = lRow * lColumn
Next lColumn
Next lRow
End Sub
This gives the results shown in Figure 4-2.
Figure 4-2
Cells Used in Range
You can use the Cells property to specify the parameters within the Range property to define a Range
object. The following code refers to A1:E10 in the active worksheet:
Range(Cells(1,1), Cells(10,5))
This type of referencing is particularly powerful because you can specify the parameters using numeric
variables, as shown in the previous looping example.
98
Chapter 4: Using Ranges
How to rotate one page in pdf document - 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#
pdf rotate pages and save; rotate pdf page by page
How to rotate one page in pdf document - 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
rotate pages in pdf; rotate pdf pages
Ranges of Inactive Worksheets
As with the Range property, you can apply the Cells property to a worksheet that is not currently active:
Worksheets(“Sheet1”).Cells(2,3)
If you want to refer to a block of cells on an inactive worksheet using the Cellsproperty, the same pre-
cautions apply as with the Range property. You must make sure you qualify the Cells property fully. If
Sheet2 is active, and you want to refer to the range A1:E10 on Sheet1, the following code will fail because
Cells(1,1)and Cells(10,5)are properties of the active worksheet:
Sheets(“Sheet1”).Range(Cells(1,1), Cells(10,5)).Font.Bold = True
AWith...EndWith construct is an efficient way to incorporate the correct sheet reference:
With Sheets(“Sheet1”)
.Range(.Cells(1, 1), .Cells(10, 5)).Font.Bold = True
End With
More on the Cells Property of the Range Object
The Cellsproperty of a Range object provides a nice way to refer to cells relative to a starting cell, or
within a block of cells. The following refers to cell F11:
Range(“D10:G20”).Cells(2,3)
If you want to examine a range with the name SalesData and color any figure under 100 red, you can
use the following code:
Sub ColorCells()
Dim rngSales As Range
Dim lRow As Long, lColumn As Long
‘Color cells using Cells property
Set rngSales = Range(“SalesData”)
For lRow = 1 To rngSales.Rows.Count
For lColumn = 1 To rngSales.Columns.Count
If rngSales.Cells(lRow, lColumn).Value < 100 Then
rngSales.Cells(lRow, lColumn).Font.ColorIndex = 3
Else
rngSales.Cells(lRow, lColumn).Font.ColorIndex = 1
End If
Next lColumn
Next lRow
End Sub
99
Chapter 4: Using Ranges
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
If you are looking for a solution to conveniently delete one page from your PDF document, you can use this VB.NET PDF Library, which supports a variety of PDF
pdf page order reverse; pdf reverse page order
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Extract PDF Pages, Copy Pages from One PDF File and Paste into Others in C#.NET Program. Free PDF document processing SDK supports PDF page extraction, copying
pdf rotate single page and save; how to rotate a page in pdf and save it
The result is shown in Figure 4-3.
Figure 4-3
It is not, in fact, necessary to confine the referenced cells to the contents of the Range object. You can ref-
erence cells outside the original range. This means that you really only need to use the top-left cell of the
Rangeobject as a starting point. This code refers to F11, as in the earlier example:
Range(“D10”).Cells(2,3)
You can also use a shortcut version of this form of reference. The following is also a reference to cell F11:
Range(“D10”)(2,3)
Technically, this works because it is an allowable shortcut for the Item property of the Range object,
rather than the Cells property, as described previously:
Range(“D10”).Item(2,3)
It is even possible to use zero or negative subscripts, as long as you don’t attempt to reference outside
the worksheet boundaries. This can lead to some odd results. The following code refers to cell C9:
Range(“D10”)(0,0)
If you want to count all the cells in an Excel 2007 worksheet, you need to be aware
that the Count property of the Range object is a Long Integer type and Cells.Count
can’t return the value of 17,179,869,184 cells, which exceeds the size of a Long. For
compatibility with previous versions of Excel, Count is retained as it was and is sup-
plemented by a new CountLarge property, which is a Variant that can return the
larger value.
100
Chapter 4: Using Ranges
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
C# developers can easily merge and append one PDF document to another NET document imaging toolkit, also offers other advanced PDF document page processing and
rotate a pdf page; how to rotate just one page in pdf
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
This guiding page will help you merge two or more PDF documents into a single one in a Visual Basic .NET imaging application.
how to save a pdf after rotating pages; how to rotate a single page in a pdf document
The following refers to B8:
Range(“D10”)(-1,-1)
The previous Font.ColorIndexexample using rngSales can be written as follows, using this technique:
Sub ColorCells2()
Dim rngSales As Range
Dim lRow As Long, lColumn As Long
‘Color cells using implied Item property
Set rngSales = Range(“SalesData”)
For lRow = 1 To rngSales.Rows.Count
For lColumn = 1 To rngSales.Columns.Count
If rngSales(lRow, lColumn).Value < 100 Then
rngSales(lRow, lColumn).Font.ColorIndex = 3
Else
rngSales(lRow, lColumn).Font.ColorIndex = 1
End If
Next lColumn
Next lRow
End Sub
There is actually a small increase in speed if you adopt this shortcut. Running the second example, the
increase is about 5% on my PC when compared to the first example.
Single-Parameter Range Reference
The shortcut range reference accepts a single parameter as well as two. If you are using this technique
with a range with more than one row, and the index exceeds the number of columns in the range, the
reference wraps within the columns of the range, down to the appropriate row.
The following refers to cell E10:
Range(“D10:E11”)(2)
The following refers to cell D11:
Range(“D10:E11”)(3)
The index can exceed the number of cells in the Rangeobject and the reference will continue to wrap
within the Range object’s columns. The following refers to cell D12:
Range(“D10:E11”)(5)
101
Chapter 4: Using Ranges
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
A PDFDocument object contains all information about source PDF document file. PDFPage: As for one page of PDFDocument instance, RasterEdge VB.NET PDF annotator
rotate pdf pages individually; how to change page orientation in pdf document
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
unnecessary page from target existing PDF document file. Using RasterEdge Visual C# .NET PDF page deletion component, developers can easily select one or more
pdf rotate page; rotate pages in pdf and save
Qualifying a Range object with a single parameter is useful when you want to step through all the cells
in a range without having to separately track rows and columns. The ColorCells example can be fur-
ther rewritten as follows, using this technique:
Sub ColorCells3()
Dim rngSales As Range
Dim lCell As Long
‘Color cells using single parameter range reference
Set rngSales = Range(“SalesData”)
For lCell = 1 To rngSales.Count
If rngSales(lCell).Value < 100 Then
rngSales(lCell).Font.ColorIndex = 3
Else
rngSales(lCell).Font.ColorIndex = 1
End If
Next lCell
End Sub
In the fourth and final variation on the ColorCells theme, you can step through all the cells in a range
using a ForEach...Next loop, if you do not need the index value of the For...Nextloop for other
purposes:
Sub ColorCells4()
Dim rng As Range
‘Color cells using For Each...Next loop
For Each rng In Range(“SalesData”)
If rng.Value < 100 Then
rng.Font.ColorIndex = 6
Else
rng.Font.ColorIndex = 1
End If
Next rng
End Sub
Offset Pr oper t y
The Offset property of the Range object returns a similar object to the Cells property, but is different
in two ways. The first difference is that the Offset parameters are zero-based, rather than one-based, as
the term offset implies. These examples both refer to the A10 cell:
Range(“A10”).Cells(1,1)
Range(“A10”).Offset(0,0)
102
Chapter 4: Using Ranges
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
for developers on how to rotate PDF page in different two different PDF documents into one large PDF C# PDF Page Processing: Split PDF Document - C#.NET PDF
rotate one page in pdf; rotate individual pdf pages reader
C# PDF copy, paste image Library: copy, paste, cut PDF images in
This C#.NET example describes how to copy an image from one page of PDF document and paste it into another page. // Define input and output documents.
pdf rotate page and save; reverse pdf page order online
The second difference is that the Rangeobject generated by Cells consists of one cell. The Range object
referred to by the Offset property of a range has the same number of rows and columns as the original
range. The following refers to B2:C3:
Range(“A1:B2”).Offset(1,1)
Offsetis useful when you want to refer to ranges of equal sizes with a changing base point. For exam-
ple, you might have sales figures for January to December in B1:B12 and want to generate a three-month
moving average from March to December in C3:C12. The code to achieve this is:
Sub MovingAvgerage()
Dim rng As Range
Dim lRow As Long
‘Calculate moving average using Offset property
Set rng = Range(“B1:B3”)
For lRow = 3 To 12
Cells(lRow, “C”).Value = WorksheetFunction.Sum(rng) / 3
Set rng = rng.Offset(1, 0)
Next lRow
End Sub
The result of running the code is shown in Figure 4-4.
Figure 4-4
Resize Pr oper ty
You can use the Resize property of the Range object to refer to a range with the same top left-hand 
corner as the original range, but with a different number of rows and columns. The following refers to
D10:E10:
Range(“D10:F20”).Resize(1,2)
103
Chapter 4: Using Ranges
Resizeis useful when you want to extend or reduce a range by a row or column. For example, if you
have a data list, which has been given the name Database, and you have just added another row at the
bottom, you need to redefine the name to include the extra row. The following code extends the name by
the extra row:
With Range(“Database”)
.Resize(.Rows.Count + 1).Name = “Database”
End With
When you omit the second parameter, the number of columns remains unchanged. Similarly, you can
omit the first parameter to leave the number of rows unchanged. The following refers to A1:C10:
Range(“A1:B10”).Resize(, 3)
You can use the following code to search for a value in a list and, having found it, copy it and the two
columns to the right to a new location. The code to do this is:
Sub FindIt()
Dim rng As Range
‘Find data and use Resize property to copy range
Set rng = Range(“A1:A12”).Find(What:=”Jun”, _
LookAt:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox “Data not found”
Exit Sub
Else
rng.Resize(1, 3).Copy Destination:=Range(“G1”)
End If
End Sub
And the result is shown in Figure 4-5.
Figure 4-5
104
Chapter 4: Using Ranges
The Find method does not act like the Edit➪Find command. It returns a reference to the found cell as 
Range object, but it does not select the found cell. If Find does not locate a match, it returns a null
object that you can test for with the IsNothingexpression. If you attempt to copy the nullobject, a
run-time error occurs.
SpecialCells Method
When you press the F5 key in a worksheet, the Go To dialog box appears. You can then click the Special
button to show the dialog box in Figure 4-6.
Figure 4-6
This dialog allows you to do a number of useful things, such as find the last cell in the worksheet or all
the cells with numbers rather than calculations. As you might expect, all these operations can be carried
out in VBA code. Some have their own methods, but most of them can be performed using the
SpecialCellsmethod of the Rangeobject.
Last Cell
The following code determines the last row and column in the worksheet:
Set rngLast = Range(“A1”).SpecialCells(xlCellTypeLastCell)
lLastRow = rngLast.Row
lLastCol = rngLast.Column
The last cell is considered to be the intersection of the highest-numbered row in the worksheet that con-
tains information and the highest-numbered column in the worksheet that contains information. Excel
also includes cells that have contained information during the current session, even if you have deleted
that information. The last cell is not reset until you save the worksheet.
105
Chapter 4: Using Ranges
Excel considers formatted cells and unlocked cells to contain information. As a result, you will often find
the last cell well beyond the region containing data, especially if the workbook has been imported from
another spreadsheet application, such as Lotus 1-2-3. If you want to consider only cells that contain data
in the form of numbers, text, and formulas, you can use the following code:
Sub GetRealLastCell()
Dim lRealLastRow As Long
Dim lRealLastColumn As Long
‘Get bottom right corner of cells with data
Range(“A1”).Select
On Error Resume Next
lRealLastRow = Cells.Find(“*”, Range(“A1”), xlFormulas, , xlByRows, _
xlPrevious).Row
lRealLastColumn = Cells.Find(“*”, Range(“A1”), xlFormulas, , _
xlByColumns, xlPrevious).Column
Cells(lRealLastRow, lRealLastColumn).Select
End Sub
In this example, the Find method searches backward from the A1 cell (which means that Excel wraps
around the worksheet and starts searching from the last cell toward the A1 cell) to find the last row and
column containing any characters. The OnErrorResumeNext statement is used to prevent a run-time
error when the spreadsheet is empty.
If you want to get rid of the extra rows containing formats, you should select the entire rows by selecting
their row numbers and then clicking Edit➪Delete to remove them. You can also select the unnecessary
columns by their column letters and delete them. At this point, the last cell will not be reset. You can
save the worksheet to reset the last cell, or execute ActiveSheet.UsedRangein your code to perform a
reset. The following code will remove extraneous rows and columns and reset the last cell:
Sub DeleteUnusedFormats()
Dim lLastRow As Long, lLastColumn As Long
Dim lRealLastRow As Long, lRealLastColumn As Long
‘Delete from used range rows & columns that have no data
‘Detect end of used range including empty formatted cells
With Range(“A1”).SpecialCells(xlCellTypeLastCell)
lLastRow = .Row
lLastColumn = .Column
Note that it is necessary to declare the row number variables as Long, rather than
Integer, because integers can only be as high as 32,767 and Excel 2007 worksheets
can contain 1,048,576 rows.
106
Chapter 4: Using Ranges
End With
‘Find end of cells with data
lRealLastRow = _
Cells.Find(“*”, Range(“A1”), xlFormulas, , xlByRows, xlPrevious).Row
lRealLastColumn = _
Cells.Find(“*”, Range(“A1”), xlFormulas, , _
xlByColumns, xlPrevious).Column
‘If used range exceeds data, delete unused rows & columns
If lRealLastRow < lLastRow Then
Range(Cells(lRealLastRow + 1, 1), Cells(lLastRow, 1)).EntireRow.Delete
End If
If lRealLastColumn < lLastColumn Then
Range(Cells(1, lRealLastColumn + 1), _
Cells(1, lLastColumn)).EntireColumn.Delete
End If
ActiveSheet.UsedRange    ‘Resets LastCell
End Sub
The EntireRow property of a Range object refers to a Range object that spans the entire spreadsheet—that
is, columns 1 to 16,384. (Or Ato XFD on the rows contained in the original range. The EntireColumnprop-
erty of a Range object refers to a Rangeobject that spans the entire spreadsheet [rows 1 to 1,048,576] in the
columns contained in the original object.)
Deleting Numbers
Sometimes it is useful to delete all the input data in a worksheet or template so it is more obvious where
new values are required. The following code deletes all the numbers in a worksheet, leaving the formu-
las intact:
On Error Resume Next
Cells.SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
Excel considers dates as numbers, and they will be cleared by the preceding code. If you have used dates
as headings and want to avoid this, you can use the following code:
On Error Resume Next
For Each rng In Cells.SpecialCells(xlCellTypeConstants, xlNumbers)
If Not IsDate(rng.Value) Then rng.ClearContents
Next rng
The preceding code should begin with the OnErrorstatement if you want to pre-
vent a run-time error when there are no numbers to be found.
107
Chapter 4: Using Ranges
Documents you may be interested
Documents you may be interested