c# pdf image preview : Create a fillable pdf form from a word document SDK application API .net azure web page sharepoint 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%2020075-part705

Creating a UDF
Unlike manual operations, UDFs cannot be recorded—you have to write them from scratch using a
standard module in the VBE. If necessary, you can insert a standard module by right-clicking in the
Project Explorer window and choosing Insert➪Module. Asimple example of a UDF is shown here:
Function Fahrenheit(Centigrade)
Fahrenheit = Centigrade * 9 / 5 + 32
End Function
Here, a function called Fahrenheit()is created that converts degrees Centigrade to degrees
Fahrenheit. In the worksheet, you could have column Acontaining degrees Centigrade and column B
using the Fahrenheit()function to calculate the corresponding temperature in degrees Fahrenheit.
You can see the formula in cell B2 by looking at the Formula bar in Figure 1-15.
Figure 1-15
The formula has been copied into cells B3:B12.
The key difference between a sub procedure and a function procedure is that a function procedure
returns a value. Fahrenheit()calculates a numeric value, which is returned to the worksheet cell
where Fahrenheit()is used. Afunction procedure indicates the value to be returned by setting its own
name equal to the return value.
Function procedures normally have one or more input parameters. Fahrenheit()has one input param-
eter called Centigrade, which is used to calculate the return value. When you enter the formula,
Fahrenheit(A2), the value in cell A2 is passed to Fahrenheit()through Centigrade. In the case
where the value of Centigradeis 0, Fahrenheit()sets its own name equal to the calculated result,
which is 32. The result is passed back to cell B2, as shown in Figure 1-15. The same process occurs in
each cell that contains a reference to Fahrenheit().
Adifferent example that shows how you can reduce the complexity of spreadsheet formulas for users is
shown in Figure 1-16. The lookup table in cells A1:D5 gives the price of each product, the discount sales
Chapter 1: Primer in Excel VBA
Create a fillable pdf form from a word document - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
add editable fields to pdf; add image to pdf form
Create a fillable pdf form from a word document - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
change font size pdf form reader; add text field to pdf acrobat
volume (above which a discount will be applied), and the percent discount for units above the discount
volume. Using normal spreadsheet formulas, users would have to set up three lookup formulas together
with some logical tests to calculate the invoice amount.
Figure 1-16
The InvoiceAmount()function has three input parameters: Productis the name of the product,
Volumeis the number of units sold, and Tableis the lookup table. The formula in cell C9, in Figure 1-16,
defines the ranges to be used for each input parameter:
Function InvoiceAmount(Product, Volume, Table)
‘Find price in table
Price = WorksheetFunction.VLookup(Product, Table, 2)
‘Find discount volume threshold
DiscountVolume = WorksheetFunction.VLookup(Product, Table, 3)
‘Apply discount if volume above threshold
If Volume > DiscountVolume Then
‘Calculate invoice with discount
DiscountPct = WorksheetFunction.VLookup(Product, Table, 4)
InvoiceAmount = Price * DiscountVolume + Price * _
(1 - DiscountPct) * (Volume - DiscountVolume)
‘Calculate invoice without discount
InvoiceAmount = Price * Volume
End If
End Function
The range for the table is absolute so that the copies of the formula below cell C8 refer to the same range.
The first calculation in the function uses the VLookupfunction to find the product in the lookup table
and return the corresponding value from the second column of the lookup table, which it assigns to the
variable Price.
Chapter 1: Primer in Excel VBA
C# Create PDF Library SDK to convert PDF from other file formats
to create searchable PDF document from Microsoft Office Word, Excel and Create and save editable PDF with a blank page Create fillable PDF document with fields.
chrome save pdf form; add form fields to pdf without acrobat
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Create PDF document from OpenOffice Presentation in both .NET WinForms and ASP to change ODT, ODS, ODP forms to fillable PDF formats in RasterEdge.XDoc.PDF.dll.
change font size pdf form; add fields to pdf
If you want to use an Excel worksheet function in a VBAprocedure, you need to tell VBAwhere to find
it by preceding the function name with WorksheetFunctionand a period. For compatibility with
Excel 5 and 95, you can use Applicationinstead of WorksheetFunction. Not all worksheet func-
tions are available this way. In these cases, VBAhas equivalent functions, or mathematical operators, to
carry out the same calculations.
In the next line of the function, the discount volume is found in the lookup table and assigned to the
variable DiscountVolume. The Iftest on the next line compares the sales volume in Volumewith
DiscountVolume. If Volumeis greater than DiscountVolume, the calculations following it, down to the
Elsestatement, are carried out. Otherwise, the calculation after the Elseis carried out.
If Volumeis greater than DiscountVolume, the percent discount rate is found in the lookup table and
assigned to the variable DiscountPct. The invoice amount is then calculated by applying the full price
to the units up to DiscountVolumeplus the discounted price for units above DiscountVolume. Note
the use of the underscore character, preceded by a blank space, to indicate the continuation of the code
on the next line.
The result is assigned to the name of the function, InvoiceAmount, so that the value will be returned to
the worksheet cell. If Volumeis not greater than DiscountVolume, the invoice amount is calculated by
applying the price to the units sold, and the result is assigned to the name of the function.
Direct Reference to Ranges
When you define a UDF, it is possible to directly refer to worksheet ranges rather than through the input
parameters of the UDF. This is illustrated in the following version of the InvoiceAmount()function:
Function InvoiceAmount2(Product, Volume)
‘Create object variable referring to table in worksheet
Set Table = ThisWorkbook.Worksheets(“Sheet2”).Range(“A2:D5”)
‘Find price in table
Price = WorksheetFunction.VLookup(Product, Table, 2)
‘Find discount volume threshold
DiscountVolume = WorksheetFunction.VLookup(Product, Table, 3)
‘Apply discount if volume above threshold
If Volume > DiscountVolume Then
‘Calculate invoice with discount
DiscountPct = WorksheetFunction.VLookup(Product, Table, 4)
InvoiceAmount2 = Price * DiscountVolume + Price * _
(1 - DiscountPct) * (Volume - DiscountVolume)
‘Calculate invoice without discount
InvoiceAmount2 = Price * Volume
End If
End Function
Note that Tableis no longer an input parameter. Instead, the Setstatement defines Tablewith a direct
reference to the worksheet range. Although this method still works, the return value of the function will
not be recalculated if you change a value in the lookup table. Excel does not realize that it needs to recal-
culate the function when a lookup table value changes, because it does not see that the table is used by
the function. 
Chapter 1: Primer in Excel VBA
VB.NET Create PDF Library SDK to convert PDF from other file
component to convert Microsoft Office Word, Excel and Create and save editable PDF with a blank Create fillable PDF document with fields in Visual Basic .NET
add text fields to pdf; add fields to pdf form
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create PDF document from OpenOffice Text Document with embedded ODS, ODP forms into fillable PDF formats.
adding form fields to pdf files; change pdf to fillable form
Excel only recalculates a UDF when it sees its input parameters change. If you want to remove the
lookup table from the function parameters and still have the UDF recalculate automatically, you can
declare the function to be volatile on the first line of the function, as shown here:
Function InvoiceAmount2(Product, Volume)
Set Table = ThisWorkbook.Worksheets(“Sheet2”).Range(“A2:D5”)
However, you should be aware that this feature comes at a price. If a UDF is declared volatile, the UDF
is recalculated every time any value changes in the worksheet. This can add a significant recalculation
burden to the worksheet if the UDF is used in many cells.
What UDFs Cannot Do
Acommon mistake made by users is to attempt to create a worksheet function that changes the structure
of the worksheet by, for example, copying a range of cells. Such attempts will fail. No error messages are
produced because Excel simply ignores the offending code lines, so the reason for the failure is not obvious.
Adistinction is made (in Excel VBA) between UDFs that are used in worksheet cells and function proce-
dures that are not connected with worksheet cells. As long as the original calling procedure was not a
UDF in a worksheet cell, a function procedure can carry out any Excel action, just like a sub procedure.
It should also be noted that UDFs are not as efficient as the built-in Excel worksheet functions. If UDFs
are used extensively in a workbook, recalculation time will be greater compared with a similar work-
book using the same number of built-in functions.
The Excel Object Model
The Visual Basic for Applications programming language is common across all the Microsoft Office
applications. In addition to Excel, you can use VBAin Word, Access, PowerPoint, and Outlook. Once
you learn it, you can apply it to any of these. However, to work with an application, you need to learn
about the objects it contains. In Word, you deal with documents, paragraphs, and words. In Access, you
deal with databases, recordsets, and fields. In Excel, you deal with workbooks, worksheets, and ranges.
UDFs, used in worksheet cells, are not permitted to change the structure of the
worksheet, meaning that a UDF cannot return a value to any other cell than the one
it is used in, and it cannot change a physical characteristic of a cell, such as the font
color or background pattern. In addition, UDFs cannot carry out actions such as
copying or moving spreadsheet cells. They cannot even carry out some actions that
imply a change of cursor location, such as an Edit➪Find. AUDF can call another
function procedure, or even a sub procedure, but that procedure will be under the
same restrictions as the UDF. It will still not be permitted to change the structure of
the worksheet.
Chapter 1: Primer in Excel VBA
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
formatting. Create PDF files from both DOC and DOCX formats. Convert multiple pages Word to fillable and editable PDF documents. Professional
adding form fields to pdf; convert pdf to editable form
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Convert multiple pages Word to fillable and editable PDF Convert both DOC and DOCX formats to PDF files. Easy to create searchable and scanned PDF files from
adding text to a pdf form; cannot edit pdf form
Unlike many programming languages, you don’t have to create your own objects in Office VBA. Each
application has a clearly defined set of objects that are arranged according to the relationships between
them. This structure is referred to as the application’s object model. This section is an introduction to the
Excel object model, which is fully documented in Appendix A.
First up, this section covers a few basics about Object-Oriented Programming (OOP). This not a complete
formal treatise on the subject, but it covers what you need to know to work with the objects in Excel.
OOP’s basic premise is that you can describe everything known to us as objects. You and I are objects,
the world is an object, and the universe is an object. In Excel, a workbook is an object, a worksheet is an
object, and a range is an object. These objects are only a small sample of around two hundred object
types available to us in Excel. Look at some examples of how to refer to Rangeobjects in VBAcode.
Onesimple way to refer to cells B2:C4 is as follows:
If you give the name Datato a range of cells, you can use that name in a similar way:
There are also ways to refer to the currently active cell and selection using shortcuts.
In Figure 1-17, ActiveCellrefers to the B2 cell, and Selectionrefers to the range B2:E6. For more
information on ActiveCelland Selection, see Chapter 3.
Figure 1-17
Many objects belong to collections. Acity block is a collection of high-rise buildings. Ahigh-rise building
is a collection of floor objects. Afloor is a collection of room objects. Collections are objects themselves—
objects that contain other objects that are closely related. Collections and objects are often related in a
hierarchical or tree structure.
Chapter 1: Primer in Excel VBA
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Create fillable and editable PDF documents from Excel in Visual
add text field to pdf; add forms to pdf
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both Create searchable and scanned PDF files from Excel. Description: Convert to PDF/TIFF and save it
change font pdf fillable form; create a pdf form online
Excel is an object itself, called the Applicationobject. In the Excel Applicationobject, there is a
Workbookscollection that contains all the currently open Workbookobjects. Each Workbookobject has
aWorksheetscollection that contains the Worksheetobjects in that workbook. 
If you want to refer to a member of a collection, you can refer to it by its position in the collection, as an
index number starting with 1, or by its name, as quoted text. If you have opened just one workbook
called Data.xls, you can refer to it by either of the following:
If you have three worksheets in the active workbook that have the names NorthEast, and South, in
that order, you can refer to the second worksheet by either of the following:
If you want to refer to a worksheet called DataInputin a workbook called Sales.xls, and Sales.xls
is not the active workbook, you must qualify the worksheet reference with the workbook reference, sep-
arating them with a period, as follows:
When you refer to the B2 cell in DataInput, while another workbook is active, you use:
The following section examines objects more closely and explains how you can manipulate them in VBA
code. You need to be aware of two key characteristics of objects to do this. They are the properties and
methods associated with an object.
Properties are the physical characteristics of objects, and can be measured or quantified. You and I have
a height property, an age property, a bank balance property, and a name property. Some of our proper-
ties can be changed fairly easily, such as our bank balance. Other properties are more difficult or impos-
sible to change, such as our name and age.
Aworksheet Rangeobject has a RowHeightproperty and a ColumnWidthproperty. AWorkbookobject
has a Nameproperty, which contains its filename. Some properties can be changed easily, such as the
Rangeobject’s ColumnWidthproperty, by assigning the property a new value. Other properties, such as
the Workbookobject’s Nameproperty, are read-only. You can’t change the Nameproperty by simply
assigning a new value to it.
Note that you need to make a clear distinction between the plural Worksheetsobject,
which is a collection, and the singular Worksheetobject. They are quite different
Chapter 1: Primer in Excel VBA
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable Easy to create searchable and scanned PDF files PDF document can be converted from PowerPoint2003 by
add date to pdf form; changing font size in a pdf form
You refer to the property of an object by referring to the object, then the property, separated by a period.
For example, to change the width of the column containing the active cell to 20 points, you would assign
the value to the ColumnWidthproperty of the ActiveCellusing:
ActiveCell.ColumnWidth = 20
To enter the name Florenceinto cell C10, you assign the name to the Valueproperty of the Range
Range(“C10”).Value = “Florence”
If the Rangeobject is not in the active worksheet in the active workbook, you need to be more specific:
Workbooks(“Sales.xls”).Worksheets(“DataInput”).Range(“C10”).Value = 10
In the previous examples, you have seen how to assign values to the properties of objects. You can also
assign the property values of objects to variables or to other objects’ properties. You can directly assign
the column width of one cell to another cell on the active sheet, using:
Range(“C1”).ColumnWidth = Range(“A1”).ColumnWidth
You can assign the value in C1 in the active sheet to D10 in the sheet named Sales, in the active work-
book, using:
Worksheets(“Sales”).Range(“D10”).Value = Range(“C1”).Value
You can assign the value of a property to a variable so it can be used in later code. This example stores
the current value of cell M100, sets M100 to a new value, prints the auto-recalculated results, and sets
M100 back to its original value:
OpeningStock = Range(“M100”).Value
Range(“M100”).Value = 100
Range(“M100”).Value = OpeningStock
Some properties are read-only, which means that you can’t assign a value to them directly. Sometimes
there is an indirect way. One example is the Textproperty of a Rangeobject. You can assign a value to a
cell using its Valueproperty, and you can give the cell a number format using its NumberFormatproperty.
The Textproperty of the cell gives you the formatted appearance of the cell. The following example dis-
plays $12,345.60in a Message box:
VBAcan do what is impossible to do manually. It can enter data into worksheets that
are not visible on the screen. It can copy and move data without having to make the
sheets involved active. Therefore, it is very seldom necessary to activate a specific
workbook, worksheet, or range to manipulate data using VBA. The more you can
avoid activating objects, the faster your code will run. Unfortunately, the macro
recorder can only record what you do and uses activation extensively.
Chapter 1: Primer in Excel VBA
Range(“B10”).Value = 12345.6
Range(“B10”).NumberFormat = “$#,##0.00”
MsgBox Range(“B10”).Text
This is the only means by which you can set the value of the Textproperty.
Whereas properties are the quantifiable characteristics of objects, methods are the actions that can be
performed by objects or on objects. If you have a linguistic bent, you might like to think of objects as
nouns, properties as adjectives, and methods as verbs. Methods often change the properties of objects.
Ihave a walking method that takes me from Ato B, changing my location property. I have a spending
method that reduces my bank balance property and a working method that increases my bank balance
property. My dieting method reduces my weight property, temporarily.
Asimple example of an Excel method is the Selectmethod of the Rangeobject. To refer to a method, as
with properties, put the object first, add a period, and then add the method. The following selects cell
Another example of an Excel method is the Copymethod of the Rangeobject. The following copies the
contents of range A1:B3 to the clipboard:
Methods often have parameters that you can use to modify the way the method works. For example,
you can use the Pastemethod of the Worksheetobject to paste the contents of the clipboard into a
worksheet, but if you do not specify where the data is to be pasted, it is inserted with its top-left corner
in the active cell. This can be overridden with the Destinationparameter (parameters are discussed
later in this section):
ActiveSheet.Paste Destination:=Range(“G4”)
Note that the value of a parameter is specified using :=, not just =.
Often, Excel methods provide shortcuts. The previous examples of Copyand Pastecan be carried out
entirely by the Copymethod:
Range(“A1:B3”).Copy Destination:=Range(“G4”)
This is far more efficient than the code produced by the macro recorder:
Chapter 1: Primer in Excel VBA
Another important concept in VBAis that objects can respond to events. Amouse click on a command
button, a double-click on a cell, a recalculation of a worksheet, and the opening and closing of a work-
book are examples of events. 
All of the ActiveX controls can respond to events. These controls can be embedded in worksheets and in
UserForms to enhance the functionality of those objects. Worksheets and workbooks can also respond
toa wide range of events. If you want an object to respond to an event, enter VBAcode into the appro-
priate event procedure for that object. The event procedure resides in the code module behind the
WorkbookWorksheet, or UserFormobject concerned.
For example, you might want to detect that a user has selected a new cell and highlight the cell’s com-
plete row and column. You can do this by entering code in the Worksheet_SelectionChange()event
First activate the VBE window and double-click the worksheet in the Project Explorer.
From the drop-down lists at the top of the worksheet code module, choose Worksheetand
SelectionChange, and enter the following code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rows.Interior.ColorIndex = xlColorIndexNone
Target.EntireColumn.Interior.ColorIndex = 36
Target.EntireRow.Interior.ColorIndex = 36
End Sub
This event procedure runs every time the user selects a new cell, or block of cells. The parameter,
Target, refers to the selected range as a Rangeobject. The first statement sets the ColorIndexproperty
of all the worksheets cells to no color, to remove any existing background color. The second and third
statements set the entire columns and entire rows that intersect with the selected cells to a background
color of pale yellow. This color can be different, depending on the color palette set up in your workbook.
The use of properties in this example is more complex than you have seen before. Now analyze the com-
ponent parts. If you assume that Targetis a Rangeobject referring to cell B10, then the following code
uses the EntireColumnproperty of the B10 Rangeobject to refer to the entire B column, which is the
range B1:B1048576, or B:B for short:
Target.EntireColumn.Interior.ColorIndex = 36
Similarly, the next line of code changes the color of row 10, which is the range A10:XFD10, or 10:10 for
Target.EntireRow.Interior.ColorIndex = 36
The Interiorproperty of a Rangeobject refers to an Interiorobject, which is the background of a
range. Finally, set the ColorIndexproperty of the Interiorobject equal to the index number for the
required color.
Chapter 1: Primer in Excel VBA
This code might appear to many to be far from intuitive. So how do you go about figuring out how to
carry out a task involving an Excel object?
Getting Help
The easiest way to discover the required code to perform an operation is to use the macro recorder. The
recorded code is likely to be inefficient, but it will indicate the objects required and the properties and
methods involved. If you turn on the recorder to find out how to color the background of a cell, you will
get something like the following:
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 56
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
This With...EndWithconstruction is discussed in more detail later in this chapter. It is equivalent to:
Selection.Interior.Pattern = xlSolid
Selection.Interior.PatternColorIndex = 56
Selection.Interior.Color = 65535
Selection.Interior.TintAndShade = 0
Selection.Interior.PatternTintAndShade = 0
The lines of code that specify PatternTintAndShade, and PatternTintAndShadeare unnecessary,
because they specify default values. The macro recorder is not sophisticated enough to know what the
user does or doesn’t want, so it includes everything. However, the recorded code provides the clues you
need to get started. You only need to figure out how to change the Rangeobject, Selection, into a 
complete row or complete column. If this can be done, it will be accomplished by using a property or
method of the Rangeobject.
The Object Browser
The Object Browser is a valuable tool for discovering the properties, methods, and events applicable to
Excel objects. To display the Object Browser, you need to be in the VBE window. You can use View➪
Object Browser, press F2, or click the Object Browser button on the Standard toolbar to see the window
shown in Figure 1-18.
The objects are listed in the window with the title Classes. Objects are instances of classes. You can click
in this window and type an r to get quickly to the Rangeobject.
Alternatively, you can click in the search box, second from the top with the binoculars to its right, and
type in range. When you press Enter or click the binoculars, you will see a list of items containing this
text. When you click Range, under the Class heading in the Search Results window, Range will be high-
lighted in the Classes window below. This technique is handy when you are searching for information
on a specific property, method, or event.
Chapter 1: Primer in Excel VBA
Documents you may be interested
Documents you may be interested