display pdf winform c# : Rotate one page in pdf reader SDK application service wpf azure asp.net dnn 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200741-part668

The captions on the Next and Previous buttons have been changed to Next in Dept and Previous in
Dept. The code in the Click event procedure of the two buttons has been rewritten (from that in
Chapter 15) to show only the rows in the data that are not hidden by the AutoFilter:
Private Sub cmdNext_Click()
Dim lBottomRow As Long
Dim lCheckRow As Long
With ThisWorkbook.Names(“Database”).RefersToRange
‘Determine last row to check
lBottomRow = .Rows(.Rows.Count).Row + 1
‘Start looking at row below current row
lCheckRow = rngData.Row + 1
‘Look for first row down that is not hidden
Do Until lCheckRow = lBottomRow
If .Parent.Rows(lCheckRow).Hidden = False Then
Exit Do
Else
lCheckRow = lCheckRow + 1
End If
Loop
‘If we found a visible row within the data, display it
If lCheckRow <> lBottomRow Then
scbNavigator.Value = lCheckRow + .Row - 1
End If
End With
End Sub
When you search down through the data to find a row that is not hidden, you need to take into account
that there might not be one. The first visible row will then be the row after the last row of data, so you
need to search that far. The first row to check is the row after the current row, which is the one you are
viewing. The code in the Do...Loop increments the check row until you either find a visible row or
reach the bottom row. If you have found the bottom row, do nothing. Otherwise, change the scrollbar
value to the found rows location in the database, which runs the scrollbar event procedure to show the
data that was found:
Private Sub cmdPrevious_Click()
Dim lTopRow As Long
Dim lCheckRow As Long
With ThisWorkbook.Names(“Database”).RefersToRange
‘The top row to check is the database header row
lTopRow = .Row
‘Start looking at row above current row
lCheckRow = rngData.Row - 1
‘Look for first row up that is not hidden
Do Until lCheckRow = lTopRow
If .Parent.Rows(lCheckRow).Hidden = False Then
Exit Do
Else
lCheckRow = lCheckRow - 1
End If
Loop
378
Chapter 17: Add-ins
Rotate one page in pdf reader - 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#
reverse page order pdf online; how to permanently rotate pdf pages
Rotate one page in pdf reader - 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
pdf reverse page order; how to rotate pdf pages and save permanently
‘If we found a visible row within the data, display it
If lCheckRow <> lTopRow Then
scbNavigator.Value = lCheckRow + .Row - 1
End If
End With
End Sub
Searching up through the data to find a row that is not hidden is a similar task to searching down. Set
the top row to be checked to the header record in the database, because it might be the only unhidden
row above the current row.
The operating procedure for these buttons may not be clear initially to users, so an explanatory screen
will be included that appears when the Add-in is installed, as you will see later.
Installing an Add-in
An Add-in can be opened from the Office Open menu, as has been mentioned. However, you get better
control over an Add-in if you install it using the Add-Ins dialog box. Click the Microsoft Office button
and click Excel Options at the bottom of the dialog box. Click Add-Ins, which displays the dialog box
depicted in Figure 17-4.
Figure 17-4
Select Excel Add-ins in the Manage drop-down and click Go to display the dialog box illustrated in
Figure 17-5.
The Company Data List Add-in is the Addin.xlam file. If it does not already appear in the list, you can
click the Browse button to locate it.
379
Chapter 17: Add-ins
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
rotate pages in pdf online; pdf rotate single page reader
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
C# developers can easily merge and append one PDF document to document imaging toolkit, also offers other advanced PDF document page processing and
rotate individual pages in pdf reader; rotate pdf pages and save
Figure 17-5
The friendly title and description are provided by filling in the workbook’s Properties. If you have
already converted the workbook to an Add-in, you can set its IsAddin property to False to make the
workbook visible in the Excel window, click the Microsoft Office button, and then choose Prepare ➪
Properties to display the dialog box shown in Figure 17-6.
Figure 17-6
380
Chapter 17: Add-ins
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
all. This guiding page will help you merge two or more PDF documents into a single one in a Visual Basic .NET imaging application.
save pdf rotated pages; permanently rotate pdf pages
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
to display it. Thus, PDFPage, derived from REPage, is a programming abstraction for representing one PDF page. Annotating Process.
rotate all pages in pdf file; reverse pdf page order online
The Title and Comments boxes supply the information for the Add-Ins dialog box. When you have
added the required information, you can set the IsAddin property back to True and save the file.
If you change the Add-in workbook properties after adding it to the Add-Ins dialog box, the friendly text
will not appear. You need to remove the Add-in from the list and add it back again. The removal process
is covered later.
Once the Add-in is visible in the Add-Ins dialog box, you can install and uninstall the Add-in by check-
ing and unchecking the checkbox beside the Add-in’s description. When it is installed, it is loaded into
memory and becomes visible in the VBE window, and will be automatically loaded in future Excel ses-
sions. When it is uninstalled, it is removed from memory and is no longer visible in the VBE window,
and will no longer be loaded in future Excel sessions.
AddinInst all Event
Two special events are triggered when you install and uninstall an Add-in. The following code, in the
ThisWorkbookmodule, shows how to display a user form when the Add-in is installed:
Private Sub Workbook_AddinInstall()
frmInstall.Show
End Sub
The user form displays the information shown in Figure 17-7 for the user.
Figure 17-7
The other event is the AddinUninstall event.
Rem oving an Add-in from t he Add-ins List
There is no easy way to remove an Add-in from the Add-Ins dialog box. One way you can do this is 
to move the Add-in file from its current folder using the Windows Explorer, before opening Excel. An
381
Chapter 17: Add-ins
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
how to rotate all pages in pdf in preview; save pdf rotate pages
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Using RasterEdge Visual C# .NET PDF page deletion component, developers can easily select one or more PDF pages and delete it/them in both .NET web and Windows
rotate pdf page and save; pdf rotate single page
alternative is to change the Add-in’s filename before opening Excel. The message shown in Figure 17-8
will appear when you open Excel.
Figure 17-8
Open the Add-Ins dialog box and click the checkbox against the Add-in’s entry. You will get the message
depicted in Figure 17-9.
Figure 17-9
Click Yes and the Add-in will be deleted from the list.
Sum mar y
You can provide users with all the power of VBA customization, without cluttering the Excel screen with
a workbook, by creating an Add-in. Workbook files can be easily converted to Add-in files using Save
As, or by changing the workbook’s IsAddin property to True. It is usually necessary to make some
changes to the code when converting a workbook to an Add-in, to be able to refer to its hidden objects.
Once a file is an Add-in, it is no longer visible in the Excel window—its sheets still exist and can be used
by the Add-in, but they are not displayed. You can still see the Add-in file in the Project Explorer in the
VBE window. However, a password can be applied to lock the VBA project and prevent users from
viewing or editing the project’s modules and UserForms, just as you can lock the VBA project of a nor-
mal workbook.
An Add-in application can be accessed by users through menu commands, toolbar controls, or controls
embedded in workbooks, though you cannot use popup menus. It can obtain and display information
through functions such as MsgBox and InputBoxand through UserForms. A workbook-based applica-
tion usually needs some redesign in this area before it can be converted to an Add-in application.
Although Add-in files can be opened in the same way as workbooks, they work best when added to the
Add-ins listed in the Add-Ins dialog box. Once added, they can be installed and uninstalled using the
same dialog box. If they are installed, they will open automatically in every Excel session.
382
Chapter 17: Add-ins
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
be saved after cutting, copying and pasting into PDF page. existing PDF file and paste it into another one. Copy, paste and cut PDF image while preview without
rotate pdf page permanently; pdf rotate single page reader
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 single page in pdf file; rotate single page in pdf reader
Auto mat io n  Ad d- In s  
and  C OM  A dd -I ns
With the release of Office 2000, Microsoft introduced a new concept for creating custom Add-Ins
for all the Office applications. Instead of creating application-specific Add-Ins (xlam in Excel, dotm
in Word, and so on), you can create DLLs using Visual Basic, C++, or .NET that all the Office appli-
cations can use. Because these DLLs conform to Microsoft’s Component Object Model, they are
known as COM Add-Ins. The second half of this chapter explains how to create and implement
your own COM Add-Ins.
In Excel 2002, Microsoft extended the concept and simplified the implementation of the COM
Add-In mechanism, so their functions could be used in the same way as worksheet functions and
VBA user-defined functions. These Add-Ins are known as Automation Add-Ins.
In Excel 2007, Microsoft has further extended COM Add-Ins to support application-level cus-
tomization of the Ribbon and the creation of custom task panes.
Automation Add-Ins
Automation Add-Ins are COM DLLs (ActiveX DLLs) that have a creatable class and a public func-
tion in the creatable class. For example, when Excel can do the following with your class, you can
then call FunctionName from the worksheet:
Dim oAutoAddin As Object
Set oAutoAddin = CreateObject(“TheProgID”)
TheResult = CallByName(oAutoAddin, “FunctionName”, _
VbMethod, param1, param2, ...)
In other words, your function must satisfy the following conditions:
The class must be publicly creatable (that is, have an Instancing property of Multi-Use
or Global-Multi-Use).
The procedure must be a Function (as opposed to a Subor Property procedure).
A Simple Add-In — Sequence
For the Excel VBA developer, the easiest way to create Automation Add-Ins is still to use Visual Basic 6.
This is because it uses the same syntax as VBA, and most Excel user-defined functions can be converted
to Automation Add-Ins by simply copying the code to a VB6 class. Although it is possible to create
Automation Add-Ins using .NET, there are a number of hoops to jump through, and creating Add-Ins
with .NET is outside the scope of this book.
In this example, you create a simple Automation Add-In using VB6. It will contain a single function to
provide a sequence of numbers as an array (which is often used in array formulas).
Start VB6 and create a new ActiveX DLLproject. Rename the project Excel2007ProgRef and rename
the class Simple in the Properties window. Set the class’s Instancing property to 5–MultiUse (this
should be the default setting). By setting this property, you’re making the class publicly creatable (that is,
Excel can create instances of this class when or if you tell it to).
Type the following code into the Simple class, to calculate and return a sequence of numbers:
‘***************************************************************************
‘*
‘* FUNCTION NAME: Sequence
‘*
‘* DESCRIPTION: Returns a sequence of numbers, often used in array formulas.
‘*
‘* PARAMETERS:  Items    The number of elements in the sequence
‘*              Start    The starting value for the sequence, default = 1
‘*              Step     The step value in the sequence, default = 1
‘*
‘***************************************************************************
Public Function Sequence(Items As Long, Optional Start As Double = 1, _
Optional Step As Double = 1) As Variant
Dim vaResult As Variant
Dim i As Long
Dim dValue As Double
‘ Validate entries
If Items < 1 Then
Sequence = CVErr(2015)        ‘#Value
Exit Function
End If
‘ Create an array for the series
ReDim vaResult(1 To Items)
‘ Get the initial value
dValue = Start
‘ Calculate all the values, populating the array
For i = 1 To Items
vaResult(i) = dValue
384
Chapter 18: Automation Add-Ins and COM Add-Ins
dValue = dValue + Step
Next
‘ Return the array
Sequence = vaResult
End Function
By defining the function to be Public, Excel will be able to see it and you’ll be able to call it from the
worksheet. Save the project, then use File ➪Make Excel2007ProgRef.dll to create the DLL— you’ve just
created an Automation Add-In.
Registering Automation Add-Ins with Excel
Before you can use the Sequence function in a worksheet, you need to tell Excel about the DLL. Micro-
soft has extended the Add-Ins paradigm to include Automation Add-Ins, making their usage extremely
similar to normal Excel xla or xlam Add-Ins. The main difference is that instead of a filename,
Automation Add-Ins use the class’s ProgID, which is the Visual Basic Project name, a period, then the
class name. In this example, the ProgID of the Simple class is Excel2007ProgRef.Simple.
Through the Excel User Interface
To load an Automation Add-In through Excel’s dialog, do the following:
1.
Click Office Menu➪Excel Options➪Add-Ins to show the Add-Ins options.
2.
Select Excel Add-Ins in the Manage drop-down and click the Go button to show the Add-Ins
dialog.
3.
Click the Automation button to show the Automation Add-Ins dialog.
4.
Select the entry for Excel2007ProgRef.Simple in the list, and click OK to return to the 
Add-Ins dialog.
You should see that the Automation Add-In is now included in the list of known Add-Ins and you can
load or unload it by checking or unchecking the checkbox—just like any other Add-In.
Using VBA
Automation Add-Ins are loaded in the same way as normal xlaAdd-Ins, but using the ProgID instead
of the filename, as in the following code:
Sub InstallAutomationAddIn()
AddIns.Add Filename:=”Excel2007ProgRef.Simple”
AddIns(“Excel2007ProgRef.Simple”).Installed = True
End Sub
In the Registry
If you are creating an installation routine for your Add-In, you may want to write directly to the registry
in order to set the Automation Add-In as installed. To do so, you need to create the following registry
entry (which will already exist if you’ve used the previous technique).
385
Chapter 18: Automation Add-Ins and COM Add-Ins
In the registry key:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
Create the string value:
Name = the first unused item in the series: Open, Open1, Open2, Open3, Open4, Open5
etc.
Value = /A “Excel2007ProgRef.Simple”
If you want to add the Automation Add-In to the list shown in the Add-Ins dialog, but not have it
installed, create the following registry key instead:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Add-In Manager
In this registry key, create an empty string value with the Name=Excel2007ProgRef.Simple.
Using Automation Add-Ins
Like normal xlam Add-Ins, the functions contained in Automation Add-Ins can be used both in the
worksheet and within VBA routines.
In the Worksheet
Once installed, you can simply type the name of the function directly into the worksheet. To test it, start
Excel 2007, install the Add-In as shown in the previous section, select a horizontal range of 5 cells, type
the function =Sequence(5,10,2), and enter the function as an array formula by pressing Shift+Ctrl+
Enter. You should see a sequence of numbers, as shown in Figure 18-1.
Figure 18-1
If the function name in the Automation Add-In conflicts with a built-in Excel function or a function
defined in a normal Excel Add-In, Excel will use the first one that it finds in the order of preference:
1.
Built-in function
2.
Function in xla or xlam Add-In
3.
Function in Automation Add-In
To force Excel to use the function from the Automation Add-In, prefix the function name by the Add-In’s
ProgID when typing it in, as in:
=Excel2007ProgRef.Simple.Sequence(5,10,2)
386
Chapter 18: Automation Add-Ins and COM Add-Ins
As soon as you enter the function, Excel will remove the ProgID, but will still use it to reference the func-
tion correctly. This will probably cause some confusion if you subsequently edit the function, because
you must remember to re-enter the ProgID each time (or Excel will think it is the built-in function).
In VBA
There are a number of alternatives for using the function in VBA. Because the DLLis a simple ActiveX
DLL, you can create your own instance of it and use the function directly. This will work regardless of
whether it is installed as an Add-In, as long as you have a reference to the Excel2007ProgRef library:
Private Sub CommandButton1_Click()
‘ Assumes a reference has been created to the Excel2007ProgRef library,
‘ using Tools | References
Dim oSimple As Excel2007ProgRef.Simple
Dim vaSequence As Variant
‘ Create our own instance of the class
Set oSimple = New Excel2007ProgRef.Simple
‘ Get the sequence
vaSequence = oSimple.Sequence(5, 10, 2)
‘ Write the sequence to the sheet
ActiveCell.Resize(1, 5) = vaSequence
End Sub
If you know that the Add-In is installed, you can use the instance that Excel has created, by using
Application.Evaluate:
Private Sub CommandButton1_Click()
Dim vaSequence As Variant
‘Use Application.Evaluate – which doesn’t require a reference to the DLL
vaSequence = _
Application.Evaluate(“Excel2007ProgRef.Simple.Sequence(5,10,2)”)
‘Or the shorthand:
‘vaSequence = [Excel2007ProgRef.Simple.Sequence(5,10,2)]
‘Write the sequence to the sheet
ActiveCell.Resize(1, 5) = vaSequence
End Sub
When using Application.Evaluate, the full ProgID is only needed if there is a risk that the function
name conflicts with a built-in function, or one in a loaded xlaor xlam Add-In (or workbook), so the fol-
lowing works equally well:
vaSequence = Application.Evaluate(“Sequence(5,10,2)”)
It is generally safer and more robust to use the first method —creating and using your own instance of
the class.
387
Chapter 18: Automation Add-Ins and COM Add-Ins
Documents you may be interested
Documents you may be interested